@wordpress/edit-site 5.28.5 → 5.30.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (446) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/build/components/actions/index.js +1 -1
  3. package/build/components/actions/index.js.map +1 -1
  4. package/build/components/block-editor/editor-canvas.js +10 -11
  5. package/build/components/block-editor/editor-canvas.js.map +1 -1
  6. package/build/components/block-editor/use-site-editor-settings.js +2 -1
  7. package/build/components/block-editor/use-site-editor-settings.js.map +1 -1
  8. package/build/components/code-editor/index.js +3 -2
  9. package/build/components/code-editor/index.js.map +1 -1
  10. package/build/components/editor/index.js +5 -19
  11. package/build/components/editor/index.js.map +1 -1
  12. package/build/components/editor-canvas-container/index.js +1 -1
  13. package/build/components/editor-canvas-container/index.js.map +1 -1
  14. package/build/components/global-styles/color-palette-panel.js +9 -0
  15. package/build/components/global-styles/color-palette-panel.js.map +1 -1
  16. package/build/components/global-styles/font-families.js +1 -1
  17. package/build/components/global-styles/font-families.js.map +1 -1
  18. package/build/components/global-styles/font-library-modal/collection-font-variant.js.map +1 -1
  19. package/build/components/global-styles/font-library-modal/context.js +11 -0
  20. package/build/components/global-styles/font-library-modal/context.js.map +1 -1
  21. package/build/components/global-styles/font-library-modal/font-collection.js +5 -16
  22. package/build/components/global-styles/font-library-modal/font-collection.js.map +1 -1
  23. package/build/components/global-styles/font-library-modal/index.js +2 -2
  24. package/build/components/global-styles/font-library-modal/index.js.map +1 -1
  25. package/build/components/global-styles/font-library-modal/installed-fonts.js +1 -1
  26. package/build/components/global-styles/font-library-modal/installed-fonts.js.map +1 -1
  27. package/build/components/global-styles/font-library-modal/library-font-variant.js.map +1 -1
  28. package/build/components/global-styles/font-library-modal/upload-fonts.js.map +1 -1
  29. package/build/components/global-styles/font-library-modal/utils/index.js +27 -0
  30. package/build/components/global-styles/font-library-modal/utils/index.js.map +1 -1
  31. package/build/components/global-styles/font-library-modal/utils/preview-styles.js +1 -1
  32. package/build/components/global-styles/font-library-modal/utils/preview-styles.js.map +1 -1
  33. package/build/components/global-styles/gradients-palette-panel.js.map +1 -1
  34. package/build/components/global-styles/header.js +1 -1
  35. package/build/components/global-styles/header.js.map +1 -1
  36. package/build/components/global-styles/highlighted-colors.js +50 -0
  37. package/build/components/global-styles/highlighted-colors.js.map +1 -0
  38. package/build/components/global-styles/preview-colors.js +62 -0
  39. package/build/components/global-styles/preview-colors.js.map +1 -0
  40. package/build/components/global-styles/preview-iframe.js +131 -0
  41. package/build/components/global-styles/preview-iframe.js.map +1 -0
  42. package/build/components/global-styles/preview-styles.js +163 -0
  43. package/build/components/global-styles/preview-styles.js.map +1 -0
  44. package/build/components/global-styles/preview-typography.js +65 -0
  45. package/build/components/global-styles/preview-typography.js.map +1 -0
  46. package/build/components/global-styles/screen-block-list.js +1 -1
  47. package/build/components/global-styles/screen-block-list.js.map +1 -1
  48. package/build/components/global-styles/screen-block.js +1 -1
  49. package/build/components/global-styles/screen-block.js.map +1 -1
  50. package/build/components/global-styles/screen-colors.js +10 -2
  51. package/build/components/global-styles/screen-colors.js.map +1 -1
  52. package/build/components/global-styles/screen-root.js +2 -2
  53. package/build/components/global-styles/screen-root.js.map +1 -1
  54. package/build/components/global-styles/screen-typography.js +10 -2
  55. package/build/components/global-styles/screen-typography.js.map +1 -1
  56. package/build/components/global-styles/style-variations-container.js +12 -84
  57. package/build/components/global-styles/style-variations-container.js.map +1 -1
  58. package/build/components/global-styles/{typogrphy-elements.js → typography-elements.js} +1 -1
  59. package/build/components/global-styles/typography-elements.js.map +1 -0
  60. package/build/components/global-styles/utils.js +22 -0
  61. package/build/components/global-styles/utils.js.map +1 -1
  62. package/build/components/global-styles/variations/variation.js +90 -0
  63. package/build/components/global-styles/variations/variation.js.map +1 -0
  64. package/build/components/global-styles/variations/variations-color.js +36 -0
  65. package/build/components/global-styles/variations/variations-color.js.map +1 -0
  66. package/build/components/global-styles/{variations-panel.js → variations/variations-panel.js} +1 -1
  67. package/build/components/global-styles/variations/variations-panel.js.map +1 -0
  68. package/build/components/global-styles/variations/variations-typography.js +64 -0
  69. package/build/components/global-styles/variations/variations-typography.js.map +1 -0
  70. package/build/components/header-edit-mode/document-tools/index.js +1 -2
  71. package/build/components/header-edit-mode/document-tools/index.js.map +1 -1
  72. package/build/components/header-edit-mode/index.js +16 -13
  73. package/build/components/header-edit-mode/index.js.map +1 -1
  74. package/build/components/header-edit-mode/more-menu/index.js +17 -6
  75. package/build/components/header-edit-mode/more-menu/index.js.map +1 -1
  76. package/build/components/keyboard-shortcuts/edit-mode.js +0 -13
  77. package/build/components/keyboard-shortcuts/edit-mode.js.map +1 -1
  78. package/build/components/keyboard-shortcuts/register.js +0 -18
  79. package/build/components/keyboard-shortcuts/register.js.map +1 -1
  80. package/build/components/layout/index.js +4 -2
  81. package/build/components/layout/index.js.map +1 -1
  82. package/build/components/page-patterns/dataviews-pattern-actions.js +25 -8
  83. package/build/components/page-patterns/dataviews-pattern-actions.js.map +1 -1
  84. package/build/components/page-patterns/header.js +2 -1
  85. package/build/components/page-patterns/header.js.map +1 -1
  86. package/build/components/page-patterns/index.js +0 -1
  87. package/build/components/page-patterns/index.js.map +1 -1
  88. package/build/components/{list/added-by.js → page-templates-template-parts/hooks.js} +1 -61
  89. package/build/components/page-templates-template-parts/hooks.js.map +1 -0
  90. package/build/components/page-templates-template-parts/index.js +14 -6
  91. package/build/components/page-templates-template-parts/index.js.map +1 -1
  92. package/build/components/revisions/index.js.map +1 -1
  93. package/build/components/save-button/index.js +2 -1
  94. package/build/components/save-button/index.js.map +1 -1
  95. package/build/components/save-panel/index.js +18 -3
  96. package/build/components/save-panel/index.js.map +1 -1
  97. package/build/components/sidebar/index.js +1 -1
  98. package/build/components/sidebar/index.js.map +1 -1
  99. package/build/components/sidebar-edit-mode/global-styles-sidebar.js +5 -5
  100. package/build/components/sidebar-edit-mode/global-styles-sidebar.js.map +1 -1
  101. package/build/components/sidebar-edit-mode/page-panels/page-status.js.map +1 -1
  102. package/build/components/sidebar-edit-mode/template-panel/hooks.js +20 -5
  103. package/build/components/sidebar-edit-mode/template-panel/hooks.js.map +1 -1
  104. package/build/components/sidebar-edit-mode/template-panel/index.js +48 -5
  105. package/build/components/sidebar-edit-mode/template-panel/index.js.map +1 -1
  106. package/build/components/sidebar-edit-mode/template-panel/template-actions.js +2 -9
  107. package/build/components/sidebar-edit-mode/template-panel/template-actions.js.map +1 -1
  108. package/build/components/sidebar-navigation-screen-global-styles/index.js +6 -2
  109. package/build/components/sidebar-navigation-screen-global-styles/index.js.map +1 -1
  110. package/build/components/sidebar-navigation-screen-main/index.js +1 -2
  111. package/build/components/sidebar-navigation-screen-main/index.js.map +1 -1
  112. package/build/components/sidebar-navigation-screen-navigation-menu/delete-modal.js.map +1 -1
  113. package/build/components/sidebar-navigation-screen-navigation-menu/single-navigation-menu.js +0 -3
  114. package/build/components/sidebar-navigation-screen-navigation-menu/single-navigation-menu.js.map +1 -1
  115. package/build/components/sidebar-navigation-screen-pattern/template-part-navigation-menu.js.map +1 -1
  116. package/build/components/sidebar-navigation-screen-pattern/template-part-navigation-menus.js.map +1 -1
  117. package/build/components/sidebar-navigation-screen-pattern/use-pattern-details.js +2 -2
  118. package/build/components/sidebar-navigation-screen-pattern/use-pattern-details.js.map +1 -1
  119. package/build/components/sidebar-navigation-screen-template/index.js +2 -2
  120. package/build/components/sidebar-navigation-screen-template/index.js.map +1 -1
  121. package/build/components/sidebar-navigation-screen-templates-browse/content.js +2 -2
  122. package/build/components/sidebar-navigation-screen-templates-browse/content.js.map +1 -1
  123. package/build/components/start-template-options/index.js.map +1 -1
  124. package/build/hooks/commands/use-edit-mode-commands.js +3 -171
  125. package/build/hooks/commands/use-edit-mode-commands.js.map +1 -1
  126. package/build/hooks/index.js +0 -1
  127. package/build/hooks/index.js.map +1 -1
  128. package/build/hooks/push-changes-to-global-styles/index.js +4 -5
  129. package/build/hooks/push-changes-to-global-styles/index.js.map +1 -1
  130. package/build/hooks/use-theme-style-variations/use-theme-style-variations-by-property.js +156 -0
  131. package/build/hooks/use-theme-style-variations/use-theme-style-variations-by-property.js.map +1 -0
  132. package/build/store/actions.js +19 -50
  133. package/build/store/actions.js.map +1 -1
  134. package/build/utils/clone-deep.js +15 -0
  135. package/build/utils/clone-deep.js.map +1 -0
  136. package/build-module/components/actions/index.js +1 -1
  137. package/build-module/components/actions/index.js.map +1 -1
  138. package/build-module/components/block-editor/editor-canvas.js +10 -11
  139. package/build-module/components/block-editor/editor-canvas.js.map +1 -1
  140. package/build-module/components/block-editor/use-site-editor-settings.js +2 -1
  141. package/build-module/components/block-editor/use-site-editor-settings.js.map +1 -1
  142. package/build-module/components/code-editor/index.js +3 -2
  143. package/build-module/components/code-editor/index.js.map +1 -1
  144. package/build-module/components/editor/index.js +6 -20
  145. package/build-module/components/editor/index.js.map +1 -1
  146. package/build-module/components/editor-canvas-container/index.js +2 -2
  147. package/build-module/components/editor-canvas-container/index.js.map +1 -1
  148. package/build-module/components/global-styles/color-palette-panel.js +8 -0
  149. package/build-module/components/global-styles/color-palette-panel.js.map +1 -1
  150. package/build-module/components/global-styles/font-families.js +1 -1
  151. package/build-module/components/global-styles/font-families.js.map +1 -1
  152. package/build-module/components/global-styles/font-library-modal/collection-font-variant.js.map +1 -1
  153. package/build-module/components/global-styles/font-library-modal/context.js +12 -1
  154. package/build-module/components/global-styles/font-library-modal/context.js.map +1 -1
  155. package/build-module/components/global-styles/font-library-modal/font-collection.js +7 -18
  156. package/build-module/components/global-styles/font-library-modal/font-collection.js.map +1 -1
  157. package/build-module/components/global-styles/font-library-modal/index.js +2 -2
  158. package/build-module/components/global-styles/font-library-modal/index.js.map +1 -1
  159. package/build-module/components/global-styles/font-library-modal/installed-fonts.js +1 -1
  160. package/build-module/components/global-styles/font-library-modal/installed-fonts.js.map +1 -1
  161. package/build-module/components/global-styles/font-library-modal/library-font-variant.js.map +1 -1
  162. package/build-module/components/global-styles/font-library-modal/upload-fonts.js.map +1 -1
  163. package/build-module/components/global-styles/font-library-modal/utils/index.js +26 -0
  164. package/build-module/components/global-styles/font-library-modal/utils/index.js.map +1 -1
  165. package/build-module/components/global-styles/font-library-modal/utils/preview-styles.js +1 -1
  166. package/build-module/components/global-styles/font-library-modal/utils/preview-styles.js.map +1 -1
  167. package/build-module/components/global-styles/gradients-palette-panel.js.map +1 -1
  168. package/build-module/components/global-styles/header.js +1 -1
  169. package/build-module/components/global-styles/header.js.map +1 -1
  170. package/build-module/components/global-styles/highlighted-colors.js +43 -0
  171. package/build-module/components/global-styles/highlighted-colors.js.map +1 -0
  172. package/build-module/components/global-styles/preview-colors.js +54 -0
  173. package/build-module/components/global-styles/preview-colors.js.map +1 -0
  174. package/build-module/components/global-styles/preview-iframe.js +124 -0
  175. package/build-module/components/global-styles/preview-iframe.js.map +1 -0
  176. package/build-module/components/global-styles/preview-styles.js +155 -0
  177. package/build-module/components/global-styles/preview-styles.js.map +1 -0
  178. package/build-module/components/global-styles/preview-typography.js +58 -0
  179. package/build-module/components/global-styles/preview-typography.js.map +1 -0
  180. package/build-module/components/global-styles/screen-block-list.js +1 -1
  181. package/build-module/components/global-styles/screen-block-list.js.map +1 -1
  182. package/build-module/components/global-styles/screen-block.js +1 -1
  183. package/build-module/components/global-styles/screen-block.js.map +1 -1
  184. package/build-module/components/global-styles/screen-colors.js +10 -2
  185. package/build-module/components/global-styles/screen-colors.js.map +1 -1
  186. package/build-module/components/global-styles/screen-root.js +2 -2
  187. package/build-module/components/global-styles/screen-root.js.map +1 -1
  188. package/build-module/components/global-styles/screen-typography.js +10 -2
  189. package/build-module/components/global-styles/screen-typography.js.map +1 -1
  190. package/build-module/components/global-styles/style-variations-container.js +13 -85
  191. package/build-module/components/global-styles/style-variations-container.js.map +1 -1
  192. package/build-module/components/global-styles/{typogrphy-elements.js → typography-elements.js} +1 -1
  193. package/build-module/components/global-styles/typography-elements.js.map +1 -0
  194. package/build-module/components/global-styles/utils.js +21 -0
  195. package/build-module/components/global-styles/utils.js.map +1 -1
  196. package/build-module/components/global-styles/variations/variation.js +82 -0
  197. package/build-module/components/global-styles/variations/variation.js.map +1 -0
  198. package/build-module/components/global-styles/variations/variations-color.js +28 -0
  199. package/build-module/components/global-styles/variations/variations-color.js.map +1 -0
  200. package/build-module/components/global-styles/{variations-panel.js → variations/variations-panel.js} +1 -1
  201. package/build-module/components/global-styles/variations/variations-panel.js.map +1 -0
  202. package/build-module/components/global-styles/variations/variations-typography.js +56 -0
  203. package/build-module/components/global-styles/variations/variations-typography.js.map +1 -0
  204. package/build-module/components/header-edit-mode/document-tools/index.js +1 -2
  205. package/build-module/components/header-edit-mode/document-tools/index.js.map +1 -1
  206. package/build-module/components/header-edit-mode/index.js +17 -14
  207. package/build-module/components/header-edit-mode/index.js.map +1 -1
  208. package/build-module/components/header-edit-mode/more-menu/index.js +19 -8
  209. package/build-module/components/header-edit-mode/more-menu/index.js.map +1 -1
  210. package/build-module/components/keyboard-shortcuts/edit-mode.js +0 -13
  211. package/build-module/components/keyboard-shortcuts/edit-mode.js.map +1 -1
  212. package/build-module/components/keyboard-shortcuts/register.js +0 -18
  213. package/build-module/components/keyboard-shortcuts/register.js.map +1 -1
  214. package/build-module/components/layout/index.js +5 -3
  215. package/build-module/components/layout/index.js.map +1 -1
  216. package/build-module/components/page-patterns/dataviews-pattern-actions.js +25 -8
  217. package/build-module/components/page-patterns/dataviews-pattern-actions.js.map +1 -1
  218. package/build-module/components/page-patterns/header.js +2 -1
  219. package/build-module/components/page-patterns/header.js.map +1 -1
  220. package/build-module/components/page-patterns/index.js +0 -1
  221. package/build-module/components/page-patterns/index.js.map +1 -1
  222. package/build-module/components/{list/added-by.js → page-templates-template-parts/hooks.js} +2 -59
  223. package/build-module/components/page-templates-template-parts/hooks.js.map +1 -0
  224. package/build-module/components/page-templates-template-parts/index.js +13 -5
  225. package/build-module/components/page-templates-template-parts/index.js.map +1 -1
  226. package/build-module/components/revisions/index.js.map +1 -1
  227. package/build-module/components/save-button/index.js +2 -1
  228. package/build-module/components/save-button/index.js.map +1 -1
  229. package/build-module/components/save-panel/index.js +18 -3
  230. package/build-module/components/save-panel/index.js.map +1 -1
  231. package/build-module/components/sidebar/index.js +1 -1
  232. package/build-module/components/sidebar/index.js.map +1 -1
  233. package/build-module/components/sidebar-edit-mode/global-styles-sidebar.js +5 -5
  234. package/build-module/components/sidebar-edit-mode/global-styles-sidebar.js.map +1 -1
  235. package/build-module/components/sidebar-edit-mode/page-panels/page-status.js.map +1 -1
  236. package/build-module/components/sidebar-edit-mode/template-panel/hooks.js +20 -5
  237. package/build-module/components/sidebar-edit-mode/template-panel/hooks.js.map +1 -1
  238. package/build-module/components/sidebar-edit-mode/template-panel/index.js +50 -7
  239. package/build-module/components/sidebar-edit-mode/template-panel/index.js.map +1 -1
  240. package/build-module/components/sidebar-edit-mode/template-panel/template-actions.js +2 -9
  241. package/build-module/components/sidebar-edit-mode/template-panel/template-actions.js.map +1 -1
  242. package/build-module/components/sidebar-navigation-screen-global-styles/index.js +6 -2
  243. package/build-module/components/sidebar-navigation-screen-global-styles/index.js.map +1 -1
  244. package/build-module/components/sidebar-navigation-screen-main/index.js +1 -2
  245. package/build-module/components/sidebar-navigation-screen-main/index.js.map +1 -1
  246. package/build-module/components/sidebar-navigation-screen-navigation-menu/delete-modal.js.map +1 -1
  247. package/build-module/components/sidebar-navigation-screen-navigation-menu/single-navigation-menu.js +0 -3
  248. package/build-module/components/sidebar-navigation-screen-navigation-menu/single-navigation-menu.js.map +1 -1
  249. package/build-module/components/sidebar-navigation-screen-pattern/template-part-navigation-menu.js.map +1 -1
  250. package/build-module/components/sidebar-navigation-screen-pattern/template-part-navigation-menus.js.map +1 -1
  251. package/build-module/components/sidebar-navigation-screen-pattern/use-pattern-details.js +1 -1
  252. package/build-module/components/sidebar-navigation-screen-pattern/use-pattern-details.js.map +1 -1
  253. package/build-module/components/sidebar-navigation-screen-template/index.js +1 -1
  254. package/build-module/components/sidebar-navigation-screen-template/index.js.map +1 -1
  255. package/build-module/components/sidebar-navigation-screen-templates-browse/content.js +1 -1
  256. package/build-module/components/sidebar-navigation-screen-templates-browse/content.js.map +1 -1
  257. package/build-module/components/start-template-options/index.js.map +1 -1
  258. package/build-module/hooks/commands/use-edit-mode-commands.js +4 -172
  259. package/build-module/hooks/commands/use-edit-mode-commands.js.map +1 -1
  260. package/build-module/hooks/index.js +0 -1
  261. package/build-module/hooks/index.js.map +1 -1
  262. package/build-module/hooks/push-changes-to-global-styles/index.js +1 -3
  263. package/build-module/hooks/push-changes-to-global-styles/index.js.map +1 -1
  264. package/build-module/hooks/use-theme-style-variations/use-theme-style-variations-by-property.js +144 -0
  265. package/build-module/hooks/use-theme-style-variations/use-theme-style-variations-by-property.js.map +1 -0
  266. package/build-module/store/actions.js +19 -50
  267. package/build-module/store/actions.js.map +1 -1
  268. package/build-module/utils/clone-deep.js +9 -0
  269. package/build-module/utils/clone-deep.js.map +1 -0
  270. package/build-style/style-rtl.css +152 -472
  271. package/build-style/style.css +152 -472
  272. package/package.json +43 -42
  273. package/src/components/actions/index.js +1 -1
  274. package/src/components/block-editor/editor-canvas.js +13 -12
  275. package/src/components/block-editor/style.scss +0 -3
  276. package/src/components/block-editor/use-site-editor-settings.js +1 -0
  277. package/src/components/code-editor/index.js +3 -2
  278. package/src/components/editor/index.js +10 -27
  279. package/src/components/editor-canvas-container/index.js +2 -5
  280. package/src/components/{test → error-boundary/test}/error-boundary.js +7 -5
  281. package/src/components/global-styles/color-palette-panel.js +11 -1
  282. package/src/components/global-styles/font-families.js +1 -1
  283. package/src/components/global-styles/font-library-modal/collection-font-variant.js +1 -1
  284. package/src/components/global-styles/font-library-modal/context.js +24 -0
  285. package/src/components/global-styles/font-library-modal/font-collection.js +7 -24
  286. package/src/components/global-styles/font-library-modal/index.js +2 -2
  287. package/src/components/global-styles/font-library-modal/installed-fonts.js +1 -1
  288. package/src/components/global-styles/font-library-modal/library-font-variant.js +1 -1
  289. package/src/components/global-styles/font-library-modal/upload-fonts.js +1 -1
  290. package/src/components/global-styles/font-library-modal/utils/index.js +34 -0
  291. package/src/components/global-styles/font-library-modal/utils/preview-styles.js +2 -1
  292. package/src/components/global-styles/gradients-palette-panel.js +2 -2
  293. package/src/components/global-styles/header.js +1 -1
  294. package/src/components/global-styles/highlighted-colors.js +39 -0
  295. package/src/components/global-styles/preview-colors.js +61 -0
  296. package/src/components/global-styles/preview-iframe.js +153 -0
  297. package/src/components/global-styles/preview-styles.js +185 -0
  298. package/src/components/global-styles/preview-typography.js +62 -0
  299. package/src/components/global-styles/screen-block-list.js +1 -1
  300. package/src/components/global-styles/screen-block.js +4 -1
  301. package/src/components/global-styles/screen-colors.js +13 -1
  302. package/src/components/global-styles/screen-revisions/style.scss +2 -2
  303. package/src/components/global-styles/screen-root.js +2 -2
  304. package/src/components/global-styles/screen-typography.js +19 -2
  305. package/src/components/global-styles/style-variations-container.js +14 -92
  306. package/src/components/global-styles/style.scss +1 -35
  307. package/src/components/global-styles/utils.js +37 -0
  308. package/src/components/global-styles/variations/style.scss +44 -0
  309. package/src/components/global-styles/variations/variation.js +93 -0
  310. package/src/components/global-styles/variations/variations-color.js +30 -0
  311. package/src/components/global-styles/{variations-panel.js → variations/variations-panel.js} +1 -1
  312. package/src/components/global-styles/variations/variations-typography.js +85 -0
  313. package/src/components/header-edit-mode/document-tools/index.js +1 -2
  314. package/src/components/header-edit-mode/index.js +22 -31
  315. package/src/components/header-edit-mode/more-menu/index.js +25 -11
  316. package/src/components/header-edit-mode/style.scss +4 -0
  317. package/src/components/keyboard-shortcuts/edit-mode.js +0 -11
  318. package/src/components/keyboard-shortcuts/register.js +0 -19
  319. package/src/components/layout/index.js +5 -2
  320. package/src/components/page-patterns/dataviews-pattern-actions.js +41 -10
  321. package/src/components/page-patterns/header.js +1 -0
  322. package/src/components/page-patterns/index.js +1 -2
  323. package/src/components/page-patterns/style.scss +0 -182
  324. package/src/components/{list/added-by.js → page-templates-template-parts/hooks.js} +1 -66
  325. package/src/components/page-templates-template-parts/index.js +20 -3
  326. package/src/components/page-templates-template-parts/style.scss +48 -0
  327. package/src/components/revisions/index.js +1 -1
  328. package/src/components/save-button/index.js +2 -1
  329. package/src/components/save-hub/style.scss +1 -1
  330. package/src/components/save-panel/index.js +34 -12
  331. package/src/components/sidebar/index.js +1 -1
  332. package/src/components/sidebar-button/style.scss +1 -1
  333. package/src/components/sidebar-edit-mode/global-styles-sidebar.js +5 -7
  334. package/src/components/sidebar-edit-mode/page-panels/page-status.js +1 -1
  335. package/src/components/sidebar-edit-mode/style.scss +4 -0
  336. package/src/components/sidebar-edit-mode/template-panel/hooks.js +37 -24
  337. package/src/components/sidebar-edit-mode/template-panel/index.js +76 -18
  338. package/src/components/sidebar-edit-mode/template-panel/style.scss +5 -14
  339. package/src/components/sidebar-edit-mode/template-panel/template-actions.js +1 -12
  340. package/src/components/sidebar-navigation-screen-global-styles/index.js +4 -1
  341. package/src/components/sidebar-navigation-screen-main/index.js +0 -2
  342. package/src/components/sidebar-navigation-screen-navigation-menu/delete-modal.js +1 -1
  343. package/src/components/sidebar-navigation-screen-navigation-menu/single-navigation-menu.js +0 -2
  344. package/src/components/sidebar-navigation-screen-pattern/template-part-navigation-menu.js +1 -1
  345. package/src/components/sidebar-navigation-screen-pattern/template-part-navigation-menus.js +1 -1
  346. package/src/components/sidebar-navigation-screen-pattern/use-pattern-details.js +1 -1
  347. package/src/components/sidebar-navigation-screen-template/index.js +1 -1
  348. package/src/components/sidebar-navigation-screen-templates-browse/content.js +1 -1
  349. package/src/components/start-template-options/index.js +1 -1
  350. package/src/hooks/commands/use-edit-mode-commands.js +3 -184
  351. package/src/hooks/index.js +0 -1
  352. package/src/hooks/push-changes-to-global-styles/index.js +1 -4
  353. package/src/hooks/use-theme-style-variations/test/use-theme-style-variations-by-property.js +1137 -0
  354. package/src/hooks/use-theme-style-variations/use-theme-style-variations-by-property.js +159 -0
  355. package/src/store/actions.js +21 -85
  356. package/src/store/test/actions.js +0 -75
  357. package/src/style.scss +3 -8
  358. package/src/utils/clone-deep.js +8 -0
  359. package/build/components/global-styles/preview.js +0 -271
  360. package/build/components/global-styles/preview.js.map +0 -1
  361. package/build/components/global-styles/typogrphy-elements.js.map +0 -1
  362. package/build/components/global-styles/variations-panel.js.map +0 -1
  363. package/build/components/header-edit-mode/mode-switcher/index.js +0 -62
  364. package/build/components/header-edit-mode/mode-switcher/index.js.map +0 -1
  365. package/build/components/list/added-by.js.map +0 -1
  366. package/build/components/list/header.js +0 -55
  367. package/build/components/list/header.js.map +0 -1
  368. package/build/components/list/index.js +0 -80
  369. package/build/components/list/index.js.map +0 -1
  370. package/build/components/list/table.js +0 -94
  371. package/build/components/list/table.js.map +0 -1
  372. package/build/components/list/use-register-shortcuts.js +0 -51
  373. package/build/components/list/use-register-shortcuts.js.map +0 -1
  374. package/build/components/page-patterns/duplicate-menu-item.js +0 -93
  375. package/build/components/page-patterns/duplicate-menu-item.js.map +0 -1
  376. package/build/components/page-patterns/grid-item.js +0 -223
  377. package/build/components/page-patterns/grid-item.js.map +0 -1
  378. package/build/components/page-patterns/grid.js +0 -31
  379. package/build/components/page-patterns/grid.js.map +0 -1
  380. package/build/components/page-patterns/no-patterns.js +0 -18
  381. package/build/components/page-patterns/no-patterns.js.map +0 -1
  382. package/build/components/page-patterns/patterns-list.js +0 -168
  383. package/build/components/page-patterns/patterns-list.js.map +0 -1
  384. package/build/components/page-patterns/rename-menu-item.js +0 -105
  385. package/build/components/page-patterns/rename-menu-item.js.map +0 -1
  386. package/build/components/sidebar-edit-mode/template-panel/replace-template-button.js +0 -83
  387. package/build/components/sidebar-edit-mode/template-panel/replace-template-button.js.map +0 -1
  388. package/build/components/sidebar-navigation-screen-main/template-part-hint.js +0 -36
  389. package/build/components/sidebar-navigation-screen-main/template-part-hint.js.map +0 -1
  390. package/build/components/sidebar-navigation-screen-navigation-menu/edit-button.js +0 -36
  391. package/build/components/sidebar-navigation-screen-navigation-menu/edit-button.js.map +0 -1
  392. package/build/hooks/navigation-menu-edit.js +0 -82
  393. package/build/hooks/navigation-menu-edit.js.map +0 -1
  394. package/build-module/components/global-styles/preview.js +0 -264
  395. package/build-module/components/global-styles/preview.js.map +0 -1
  396. package/build-module/components/global-styles/typogrphy-elements.js.map +0 -1
  397. package/build-module/components/global-styles/variations-panel.js.map +0 -1
  398. package/build-module/components/header-edit-mode/mode-switcher/index.js +0 -56
  399. package/build-module/components/header-edit-mode/mode-switcher/index.js.map +0 -1
  400. package/build-module/components/list/added-by.js.map +0 -1
  401. package/build-module/components/list/header.js +0 -47
  402. package/build-module/components/list/header.js.map +0 -1
  403. package/build-module/components/list/index.js +0 -72
  404. package/build-module/components/list/index.js.map +0 -1
  405. package/build-module/components/list/table.js +0 -86
  406. package/build-module/components/list/table.js.map +0 -1
  407. package/build-module/components/list/use-register-shortcuts.js +0 -45
  408. package/build-module/components/list/use-register-shortcuts.js.map +0 -1
  409. package/build-module/components/page-patterns/duplicate-menu-item.js +0 -85
  410. package/build-module/components/page-patterns/duplicate-menu-item.js.map +0 -1
  411. package/build-module/components/page-patterns/grid-item.js +0 -215
  412. package/build-module/components/page-patterns/grid-item.js.map +0 -1
  413. package/build-module/components/page-patterns/grid.js +0 -23
  414. package/build-module/components/page-patterns/grid.js.map +0 -1
  415. package/build-module/components/page-patterns/no-patterns.js +0 -11
  416. package/build-module/components/page-patterns/no-patterns.js.map +0 -1
  417. package/build-module/components/page-patterns/patterns-list.js +0 -160
  418. package/build-module/components/page-patterns/patterns-list.js.map +0 -1
  419. package/build-module/components/page-patterns/rename-menu-item.js +0 -98
  420. package/build-module/components/page-patterns/rename-menu-item.js.map +0 -1
  421. package/build-module/components/sidebar-edit-mode/template-panel/replace-template-button.js +0 -76
  422. package/build-module/components/sidebar-edit-mode/template-panel/replace-template-button.js.map +0 -1
  423. package/build-module/components/sidebar-navigation-screen-main/template-part-hint.js +0 -29
  424. package/build-module/components/sidebar-navigation-screen-main/template-part-hint.js.map +0 -1
  425. package/build-module/components/sidebar-navigation-screen-navigation-menu/edit-button.js +0 -27
  426. package/build-module/components/sidebar-navigation-screen-navigation-menu/edit-button.js.map +0 -1
  427. package/build-module/hooks/navigation-menu-edit.js +0 -75
  428. package/build-module/hooks/navigation-menu-edit.js.map +0 -1
  429. package/src/components/global-styles/preview.js +0 -327
  430. package/src/components/header-edit-mode/mode-switcher/index.js +0 -60
  431. package/src/components/list/header.js +0 -48
  432. package/src/components/list/index.js +0 -87
  433. package/src/components/list/style.scss +0 -188
  434. package/src/components/list/table.js +0 -140
  435. package/src/components/list/use-register-shortcuts.js +0 -49
  436. package/src/components/page-patterns/duplicate-menu-item.js +0 -105
  437. package/src/components/page-patterns/grid-item.js +0 -331
  438. package/src/components/page-patterns/grid.js +0 -22
  439. package/src/components/page-patterns/no-patterns.js +0 -12
  440. package/src/components/page-patterns/patterns-list.js +0 -229
  441. package/src/components/page-patterns/rename-menu-item.js +0 -132
  442. package/src/components/sidebar-edit-mode/template-panel/replace-template-button.js +0 -89
  443. package/src/components/sidebar-navigation-screen-main/template-part-hint.js +0 -34
  444. package/src/components/sidebar-navigation-screen-navigation-menu/edit-button.js +0 -22
  445. package/src/hooks/navigation-menu-edit.js +0 -92
  446. /package/src/components/global-styles/{typogrphy-elements.js → typography-elements.js} +0 -0
@@ -1 +1 @@
1
- {"version":3,"names":["paramCase","kebabCase","getQueryArgs","downloadBlob","__","_x","sprintf","Button","TextControl","__experimentalHStack","HStack","__experimentalVStack","VStack","__experimentalText","Text","store","coreStore","useDispatch","useState","noticesStore","decodeEntities","reusableBlocksStore","privateApis","routerPrivateApis","patternsPrivateApis","unlock","editSiteStore","PATTERN_TYPES","TEMPLATE_PART_POST_TYPE","PATTERN_DEFAULT_CATEGORY","CreateTemplatePartModalContents","useHistory","CreatePatternModalContents","useDuplicatePatternProps","exportJSONaction","id","label","isEligible","item","type","user","callback","json","__file","title","name","content","patternPost","raw","syncStatus","wp_pattern_sync_status","JSON","stringify","renameAction","isTemplatePart","isUserPattern","isCustomPattern","isCustom","hasThemeFile","templatePart","has_theme_file","RenderModal","items","closeModal","setTitle","editEntityRecord","saveEditedEntityRecord","createSuccessNotice","createErrorNotice","onRename","event","preventDefault","throwOnError","error","fallbackErrorMessage","errorMessage","message","code","createElement","onSubmit","spacing","__nextHasNoMarginBottom","__next40pxDefaultSize","value","onChange","required","justify","variant","onClick","canDeleteOrReset","deleteAction","hideModalHeader","supportsBulk","onPerform","__experimentalDeleteReusableBlock","removeTemplates","deletePattern","promiseResult","Promise","allSettled","map","every","status","successMessage","length","reason","errorMessages","Set","failedPromises","filter","failedPromise","add","size","join","deleteItem","questionMessage","resetAction","removeTemplate","duplicatePatternAction","modalHeader","categoryId","window","location","href","isThemePattern","theme","history","onPatternSuccess","pattern","push","categoryType","postType","postId","duplicatedProps","onSuccess","onClose","confirmLabel","duplicateTemplatePartAction","onTemplatePartSuccess","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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"}
1
+ {"version":3,"names":["paramCase","kebabCase","downloadZip","getQueryArgs","downloadBlob","__","_x","sprintf","Button","TextControl","__experimentalHStack","HStack","__experimentalVStack","VStack","__experimentalText","Text","store","coreStore","useDispatch","useState","noticesStore","decodeEntities","reusableBlocksStore","privateApis","routerPrivateApis","patternsPrivateApis","unlock","editSiteStore","PATTERN_TYPES","TEMPLATE_PART_POST_TYPE","PATTERN_DEFAULT_CATEGORY","CreateTemplatePartModalContents","useHistory","CreatePatternModalContents","useDuplicatePatternProps","getJsonFromItem","item","JSON","stringify","__file","type","title","name","content","patternPost","raw","syncStatus","wp_pattern_sync_status","exportJSONaction","id","label","supportsBulk","isEligible","user","callback","items","length","nameCount","filesToZip","map","lastModified","Date","input","blob","renameAction","isTemplatePart","isUserPattern","isCustomPattern","isCustom","hasThemeFile","templatePart","has_theme_file","RenderModal","closeModal","setTitle","editEntityRecord","saveEditedEntityRecord","createSuccessNotice","createErrorNotice","onRename","event","preventDefault","throwOnError","error","fallbackErrorMessage","errorMessage","message","code","createElement","onSubmit","spacing","__nextHasNoMarginBottom","__next40pxDefaultSize","value","onChange","required","justify","variant","onClick","canDeleteOrReset","deleteAction","hideModalHeader","onPerform","__experimentalDeleteReusableBlock","removeTemplates","deletePattern","promiseResult","Promise","allSettled","every","status","successMessage","reason","errorMessages","Set","failedPromises","filter","failedPromise","add","size","join","deleteItem","questionMessage","resetAction","removeTemplate","duplicatePatternAction","modalHeader","categoryId","window","location","href","isThemePattern","theme","history","onPatternSuccess","pattern","push","categoryType","postType","postId","duplicatedProps","onSuccess","onClose","confirmLabel","duplicateTemplatePartAction","onTemplatePartSuccess","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';\nimport { downloadZip } from 'client-zip';\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\nfunction getJsonFromItem( item ) {\n\treturn JSON.stringify(\n\t\t{\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\tnull,\n\t\t2\n\t);\n}\n\nexport const exportJSONaction = {\n\tid: 'export-pattern',\n\tlabel: __( 'Export as JSON' ),\n\tsupportsBulk: true,\n\tisEligible: ( item ) => item.type === PATTERN_TYPES.user,\n\tcallback: async ( items ) => {\n\t\tif ( items.length === 1 ) {\n\t\t\treturn downloadBlob(\n\t\t\t\t`${ kebabCase( items[ 0 ].title || items[ 0 ].name ) }.json`,\n\t\t\t\tgetJsonFromItem( items[ 0 ] ),\n\t\t\t\t'application/json'\n\t\t\t);\n\t\t}\n\t\tconst nameCount = {};\n\t\tconst filesToZip = items.map( ( item ) => {\n\t\t\tconst name = kebabCase( item.title || item.name );\n\t\t\tnameCount[ name ] = ( nameCount[ name ] || 0 ) + 1;\n\t\t\treturn {\n\t\t\t\tname: `${\n\t\t\t\t\tname +\n\t\t\t\t\t( nameCount[ name ] > 1\n\t\t\t\t\t\t? '-' + ( nameCount[ name ] - 1 )\n\t\t\t\t\t\t: '' )\n\t\t\t\t}.json`,\n\t\t\t\tlastModified: new Date(),\n\t\t\t\tinput: getJsonFromItem( item ),\n\t\t\t};\n\t\t} );\n\t\treturn downloadBlob(\n\t\t\t__( 'patterns-export' ) + '.zip',\n\t\t\tawait downloadZip( filesToZip ).blob(),\n\t\t\t'application/zip'\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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"}
@@ -50,7 +50,8 @@ export default function PatternsHeader({
50
50
  toggleProps: {
51
51
  className: 'edit-site-patterns__button',
52
52
  describedBy: sprintf( /* translators: %s: pattern category name */
53
- __('Action menu for %s pattern category'), title)
53
+ __('Action menu for %s pattern category'), title),
54
+ size: 'compact'
54
55
  }
55
56
  }, ({
56
57
  onClose
@@ -1 +1 @@
1
- {"version":3,"names":["DropdownMenu","MenuGroup","__experimentalHStack","HStack","__experimentalHeading","Heading","__experimentalText","Text","__experimentalVStack","VStack","store","editorStore","useSelect","__","sprintf","moreVertical","RenameCategoryMenuItem","DeleteCategoryMenuItem","usePatternCategories","TEMPLATE_PART_POST_TYPE","PATTERN_TYPES","PatternsHeader","categoryId","type","titleId","descriptionId","patternCategories","templatePartAreas","select","__experimentalGetDefaultTemplatePartAreas","title","description","patternCategory","templatePartArea","find","area","label","theme","category","name","createElement","className","justify","as","level","id","icon","toggleProps","describedBy","onClose","variant"],"sources":["@wordpress/edit-site/src/components/page-patterns/header.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tDropdownMenu,\n\tMenuGroup,\n\t__experimentalHStack as HStack,\n\t__experimentalHeading as Heading,\n\t__experimentalText as Text,\n\t__experimentalVStack as VStack,\n} from '@wordpress/components';\nimport { store as editorStore } from '@wordpress/editor';\nimport { useSelect } from '@wordpress/data';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { moreVertical } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport RenameCategoryMenuItem from './rename-category-menu-item';\nimport DeleteCategoryMenuItem from './delete-category-menu-item';\nimport usePatternCategories from '../sidebar-navigation-screen-patterns/use-pattern-categories';\nimport { TEMPLATE_PART_POST_TYPE, PATTERN_TYPES } from '../../utils/constants';\n\nexport default function PatternsHeader( {\n\tcategoryId,\n\ttype,\n\ttitleId,\n\tdescriptionId,\n} ) {\n\tconst { patternCategories } = usePatternCategories();\n\tconst templatePartAreas = useSelect(\n\t\t( select ) =>\n\t\t\tselect( editorStore ).__experimentalGetDefaultTemplatePartAreas(),\n\t\t[]\n\t);\n\n\tlet title, description, patternCategory;\n\tif ( type === TEMPLATE_PART_POST_TYPE ) {\n\t\tconst templatePartArea = templatePartAreas.find(\n\t\t\t( area ) => area.area === categoryId\n\t\t);\n\t\ttitle = templatePartArea?.label;\n\t\tdescription = templatePartArea?.description;\n\t} else if ( type === PATTERN_TYPES.theme ) {\n\t\tpatternCategory = patternCategories.find(\n\t\t\t( category ) => category.name === categoryId\n\t\t);\n\t\ttitle = patternCategory?.label;\n\t\tdescription = patternCategory?.description;\n\t}\n\n\tif ( ! title ) return null;\n\n\treturn (\n\t\t<VStack className=\"edit-site-patterns__section-header\">\n\t\t\t<HStack justify=\"space-between\">\n\t\t\t\t<Heading as=\"h2\" level={ 4 } id={ titleId }>\n\t\t\t\t\t{ title }\n\t\t\t\t</Heading>\n\t\t\t\t{ !! patternCategory?.id && (\n\t\t\t\t\t<DropdownMenu\n\t\t\t\t\t\ticon={ moreVertical }\n\t\t\t\t\t\tlabel={ __( 'Actions' ) }\n\t\t\t\t\t\ttoggleProps={ {\n\t\t\t\t\t\t\tclassName: 'edit-site-patterns__button',\n\t\t\t\t\t\t\tdescribedBy: sprintf(\n\t\t\t\t\t\t\t\t/* translators: %s: pattern category name */\n\t\t\t\t\t\t\t\t__( 'Action menu for %s pattern category' ),\n\t\t\t\t\t\t\t\ttitle\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t} }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ ( { onClose } ) => (\n\t\t\t\t\t\t\t<MenuGroup>\n\t\t\t\t\t\t\t\t<RenameCategoryMenuItem\n\t\t\t\t\t\t\t\t\tcategory={ patternCategory }\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\t<DeleteCategoryMenuItem\n\t\t\t\t\t\t\t\t\tcategory={ patternCategory }\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</MenuGroup>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</DropdownMenu>\n\t\t\t\t) }\n\t\t\t</HStack>\n\t\t\t{ description ? (\n\t\t\t\t<Text variant=\"muted\" as=\"p\" id={ descriptionId }>\n\t\t\t\t\t{ description }\n\t\t\t\t</Text>\n\t\t\t) : null }\n\t\t</VStack>\n\t);\n}\n"],"mappings":";AAAA;AACA;AACA;AACA,SACCA,YAAY,EACZC,SAAS,EACTC,oBAAoB,IAAIC,MAAM,EAC9BC,qBAAqB,IAAIC,OAAO,EAChCC,kBAAkB,IAAIC,IAAI,EAC1BC,oBAAoB,IAAIC,MAAM,QACxB,uBAAuB;AAC9B,SAASC,KAAK,IAAIC,WAAW,QAAQ,mBAAmB;AACxD,SAASC,SAAS,QAAQ,iBAAiB;AAC3C,SAASC,EAAE,EAAEC,OAAO,QAAQ,iBAAiB;AAC7C,SAASC,YAAY,QAAQ,kBAAkB;;AAE/C;AACA;AACA;AACA,OAAOC,sBAAsB,MAAM,6BAA6B;AAChE,OAAOC,sBAAsB,MAAM,6BAA6B;AAChE,OAAOC,oBAAoB,MAAM,8DAA8D;AAC/F,SAASC,uBAAuB,EAAEC,aAAa,QAAQ,uBAAuB;AAE9E,eAAe,SAASC,cAAcA,CAAE;EACvCC,UAAU;EACVC,IAAI;EACJC,OAAO;EACPC;AACD,CAAC,EAAG;EACH,MAAM;IAAEC;EAAkB,CAAC,GAAGR,oBAAoB,CAAC,CAAC;EACpD,MAAMS,iBAAiB,GAAGf,SAAS,CAChCgB,MAAM,IACPA,MAAM,CAAEjB,WAAY,CAAC,CAACkB,yCAAyC,CAAC,CAAC,EAClE,EACD,CAAC;EAED,IAAIC,KAAK,EAAEC,WAAW,EAAEC,eAAe;EACvC,IAAKT,IAAI,KAAKJ,uBAAuB,EAAG;IACvC,MAAMc,gBAAgB,GAAGN,iBAAiB,CAACO,IAAI,CAC5CC,IAAI,IAAMA,IAAI,CAACA,IAAI,KAAKb,UAC3B,CAAC;IACDQ,KAAK,GAAGG,gBAAgB,EAAEG,KAAK;IAC/BL,WAAW,GAAGE,gBAAgB,EAAEF,WAAW;EAC5C,CAAC,MAAM,IAAKR,IAAI,KAAKH,aAAa,CAACiB,KAAK,EAAG;IAC1CL,eAAe,GAAGN,iBAAiB,CAACQ,IAAI,CACrCI,QAAQ,IAAMA,QAAQ,CAACC,IAAI,KAAKjB,UACnC,CAAC;IACDQ,KAAK,GAAGE,eAAe,EAAEI,KAAK;IAC9BL,WAAW,GAAGC,eAAe,EAAED,WAAW;EAC3C;EAEA,IAAK,CAAED,KAAK,EAAG,OAAO,IAAI;EAE1B,OACCU,aAAA,CAAC/B,MAAM;IAACgC,SAAS,EAAC;EAAoC,GACrDD,aAAA,CAACrC,MAAM;IAACuC,OAAO,EAAC;EAAe,GAC9BF,aAAA,CAACnC,OAAO;IAACsC,EAAE,EAAC,IAAI;IAACC,KAAK,EAAG,CAAG;IAACC,EAAE,EAAGrB;EAAS,GACxCM,KACM,CAAC,EACR,CAAC,CAAEE,eAAe,EAAEa,EAAE,IACvBL,aAAA,CAACxC,YAAY;IACZ8C,IAAI,EAAG/B,YAAc;IACrBqB,KAAK,EAAGvB,EAAE,CAAE,SAAU,CAAG;IACzBkC,WAAW,EAAG;MACbN,SAAS,EAAE,4BAA4B;MACvCO,WAAW,EAAElC,OAAO,EACnB;MACAD,EAAE,CAAE,qCAAsC,CAAC,EAC3CiB,KACD;IACD;EAAG,GAED,CAAE;IAAEmB;EAAQ,CAAC,KACdT,aAAA,CAACvC,SAAS,QACTuC,aAAA,CAACxB,sBAAsB;IACtBsB,QAAQ,EAAGN,eAAiB;IAC5BiB,OAAO,EAAGA;EAAS,CACnB,CAAC,EACFT,aAAA,CAACvB,sBAAsB;IACtBqB,QAAQ,EAAGN,eAAiB;IAC5BiB,OAAO,EAAGA;EAAS,CACnB,CACS,CAEC,CAER,CAAC,EACPlB,WAAW,GACZS,aAAA,CAACjC,IAAI;IAAC2C,OAAO,EAAC,OAAO;IAACP,EAAE,EAAC,GAAG;IAACE,EAAE,EAAGpB;EAAe,GAC9CM,WACG,CAAC,GACJ,IACG,CAAC;AAEX"}
1
+ {"version":3,"names":["DropdownMenu","MenuGroup","__experimentalHStack","HStack","__experimentalHeading","Heading","__experimentalText","Text","__experimentalVStack","VStack","store","editorStore","useSelect","__","sprintf","moreVertical","RenameCategoryMenuItem","DeleteCategoryMenuItem","usePatternCategories","TEMPLATE_PART_POST_TYPE","PATTERN_TYPES","PatternsHeader","categoryId","type","titleId","descriptionId","patternCategories","templatePartAreas","select","__experimentalGetDefaultTemplatePartAreas","title","description","patternCategory","templatePartArea","find","area","label","theme","category","name","createElement","className","justify","as","level","id","icon","toggleProps","describedBy","size","onClose","variant"],"sources":["@wordpress/edit-site/src/components/page-patterns/header.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tDropdownMenu,\n\tMenuGroup,\n\t__experimentalHStack as HStack,\n\t__experimentalHeading as Heading,\n\t__experimentalText as Text,\n\t__experimentalVStack as VStack,\n} from '@wordpress/components';\nimport { store as editorStore } from '@wordpress/editor';\nimport { useSelect } from '@wordpress/data';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { moreVertical } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport RenameCategoryMenuItem from './rename-category-menu-item';\nimport DeleteCategoryMenuItem from './delete-category-menu-item';\nimport usePatternCategories from '../sidebar-navigation-screen-patterns/use-pattern-categories';\nimport { TEMPLATE_PART_POST_TYPE, PATTERN_TYPES } from '../../utils/constants';\n\nexport default function PatternsHeader( {\n\tcategoryId,\n\ttype,\n\ttitleId,\n\tdescriptionId,\n} ) {\n\tconst { patternCategories } = usePatternCategories();\n\tconst templatePartAreas = useSelect(\n\t\t( select ) =>\n\t\t\tselect( editorStore ).__experimentalGetDefaultTemplatePartAreas(),\n\t\t[]\n\t);\n\n\tlet title, description, patternCategory;\n\tif ( type === TEMPLATE_PART_POST_TYPE ) {\n\t\tconst templatePartArea = templatePartAreas.find(\n\t\t\t( area ) => area.area === categoryId\n\t\t);\n\t\ttitle = templatePartArea?.label;\n\t\tdescription = templatePartArea?.description;\n\t} else if ( type === PATTERN_TYPES.theme ) {\n\t\tpatternCategory = patternCategories.find(\n\t\t\t( category ) => category.name === categoryId\n\t\t);\n\t\ttitle = patternCategory?.label;\n\t\tdescription = patternCategory?.description;\n\t}\n\n\tif ( ! title ) return null;\n\n\treturn (\n\t\t<VStack className=\"edit-site-patterns__section-header\">\n\t\t\t<HStack justify=\"space-between\">\n\t\t\t\t<Heading as=\"h2\" level={ 4 } id={ titleId }>\n\t\t\t\t\t{ title }\n\t\t\t\t</Heading>\n\t\t\t\t{ !! patternCategory?.id && (\n\t\t\t\t\t<DropdownMenu\n\t\t\t\t\t\ticon={ moreVertical }\n\t\t\t\t\t\tlabel={ __( 'Actions' ) }\n\t\t\t\t\t\ttoggleProps={ {\n\t\t\t\t\t\t\tclassName: 'edit-site-patterns__button',\n\t\t\t\t\t\t\tdescribedBy: sprintf(\n\t\t\t\t\t\t\t\t/* translators: %s: pattern category name */\n\t\t\t\t\t\t\t\t__( 'Action menu for %s pattern category' ),\n\t\t\t\t\t\t\t\ttitle\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\tsize: 'compact',\n\t\t\t\t\t\t} }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ ( { onClose } ) => (\n\t\t\t\t\t\t\t<MenuGroup>\n\t\t\t\t\t\t\t\t<RenameCategoryMenuItem\n\t\t\t\t\t\t\t\t\tcategory={ patternCategory }\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\t<DeleteCategoryMenuItem\n\t\t\t\t\t\t\t\t\tcategory={ patternCategory }\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</MenuGroup>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</DropdownMenu>\n\t\t\t\t) }\n\t\t\t</HStack>\n\t\t\t{ description ? (\n\t\t\t\t<Text variant=\"muted\" as=\"p\" id={ descriptionId }>\n\t\t\t\t\t{ description }\n\t\t\t\t</Text>\n\t\t\t) : null }\n\t\t</VStack>\n\t);\n}\n"],"mappings":"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"}
@@ -299,7 +299,6 @@ export default function DataviewsPatterns() {
299
299
  // Wrap everything in a block editor provider.
300
300
  // This ensures 'styles' that are needed for the previews are synced
301
301
  // from the site editor store to the block editor store.
302
- // TODO: check if I add the provider in every preview like in templates...
303
302
  return createElement(ExperimentalBlockEditorProvider, {
304
303
  settings: settings
305
304
  }, createElement(Page, {
@@ -1 +1 @@
1
- {"version":3,"names":["__experimentalHStack","HStack","Button","Tooltip","Flex","getQueryArgs","__","_x","useState","useMemo","useCallback","useId","useEffect","BlockPreview","privateApis","blockEditorPrivateApis","DataViews","sortByTextFields","getPaginationResults","Icon","header","footer","symbolFilled","uncategorized","symbol","lockSmall","usePrevious","Page","LAYOUT_GRID","PATTERN_TYPES","TEMPLATE_PART_POST_TYPE","PATTERN_SYNC_TYPES","PATTERN_DEFAULT_CATEGORY","ENUMERATION_TYPE","OPERATOR_IN","exportJSONaction","renameAction","resetAction","deleteAction","duplicatePatternAction","duplicateTemplatePartAction","usePatternSettings","unlock","usePatterns","PatternsHeader","useLink","ExperimentalBlockEditorProvider","useGlobalStyle","templatePartIcons","EMPTY_ARRAY","defaultConfigPerViewType","mediaField","primaryField","DEFAULT_VIEW","type","search","page","perPage","hiddenFields","layout","filters","SYNC_FILTERS","value","full","label","description","unsynced","PreviewWrapper","item","onClick","ariaDescribedBy","children","theme","createElement","className","title","Preview","categoryId","viewType","descriptionId","isUserPattern","user","isNonUserPattern","isTemplatePart","isEmpty","blocks","length","isCustomPattern","isCustom","ariaDescriptions","push","backgroundColor","postType","postId","id","name","categoryType","Fragment","style","map","_","index","join","undefined","ariaDescription","key","hidden","Title","itemIcon","syncStatus","alignment","justify","spacing","as","gap","variant","tabIndex","placement","text","icon","size","DataviewsPatterns","window","location","href","view","setView","isUncategorizedThemePatterns","previousCategoryId","viewSyncStatus","find","field","patterns","isResolving","fields","_fields","render","enableSorting","enableHiding","getValue","elements","filterBy","operators","isPrimary","data","paginationInfo","totalItems","totalPages","filteredData","sort","textFields","actions","onChangeView","newView","settings","hideTitleFromUI","titleId","getItemId","isLoading","deferredRendering","supportedLayouts"],"sources":["@wordpress/edit-site/src/components/page-patterns/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalHStack as HStack,\n\tButton,\n\tTooltip,\n\tFlex,\n} from '@wordpress/components';\nimport { getQueryArgs } from '@wordpress/url';\nimport { __, _x } from '@wordpress/i18n';\nimport {\n\tuseState,\n\tuseMemo,\n\tuseCallback,\n\tuseId,\n\tuseEffect,\n} from '@wordpress/element';\nimport {\n\tBlockPreview,\n\tprivateApis as blockEditorPrivateApis,\n} from '@wordpress/block-editor';\nimport {\n\tDataViews,\n\tsortByTextFields,\n\tgetPaginationResults,\n} from '@wordpress/dataviews';\nimport {\n\tIcon,\n\theader,\n\tfooter,\n\tsymbolFilled as uncategorized,\n\tsymbol,\n\tlockSmall,\n} from '@wordpress/icons';\nimport { usePrevious } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport Page from '../page';\nimport {\n\tLAYOUT_GRID,\n\tPATTERN_TYPES,\n\tTEMPLATE_PART_POST_TYPE,\n\tPATTERN_SYNC_TYPES,\n\tPATTERN_DEFAULT_CATEGORY,\n\tENUMERATION_TYPE,\n\tOPERATOR_IN,\n} from '../../utils/constants';\nimport {\n\texportJSONaction,\n\trenameAction,\n\tresetAction,\n\tdeleteAction,\n\tduplicatePatternAction,\n\tduplicateTemplatePartAction,\n} from './dataviews-pattern-actions';\nimport usePatternSettings from './use-pattern-settings';\nimport { unlock } from '../../lock-unlock';\nimport usePatterns from './use-patterns';\nimport PatternsHeader from './header';\nimport { useLink } from '../routes/link';\n\nconst { ExperimentalBlockEditorProvider, useGlobalStyle } = unlock(\n\tblockEditorPrivateApis\n);\n\nconst templatePartIcons = { header, footer, uncategorized };\nconst EMPTY_ARRAY = [];\nconst defaultConfigPerViewType = {\n\t[ LAYOUT_GRID ]: {\n\t\tmediaField: 'preview',\n\t\tprimaryField: 'title',\n\t},\n};\nconst DEFAULT_VIEW = {\n\ttype: LAYOUT_GRID,\n\tsearch: '',\n\tpage: 1,\n\tperPage: 20,\n\thiddenFields: [ 'sync-status' ],\n\tlayout: {\n\t\t...defaultConfigPerViewType[ LAYOUT_GRID ],\n\t},\n\tfilters: [],\n};\n\nconst SYNC_FILTERS = [\n\t{\n\t\tvalue: PATTERN_SYNC_TYPES.full,\n\t\tlabel: _x( 'Synced', 'Option that shows all synchronized patterns' ),\n\t\tdescription: __( 'Patterns that are kept in sync across the site.' ),\n\t},\n\t{\n\t\tvalue: PATTERN_SYNC_TYPES.unsynced,\n\t\tlabel: _x(\n\t\t\t'Not synced',\n\t\t\t'Option that shows all patterns that are not synchronized'\n\t\t),\n\t\tdescription: __(\n\t\t\t'Patterns that can be changed freely without affecting the site.'\n\t\t),\n\t},\n];\n\nfunction PreviewWrapper( { item, onClick, ariaDescribedBy, children } ) {\n\tif ( item.type === PATTERN_TYPES.theme ) {\n\t\treturn children;\n\t}\n\treturn (\n\t\t<button\n\t\t\tclassName=\"page-patterns-preview-field__button\"\n\t\t\ttype=\"button\"\n\t\t\tonClick={ onClick }\n\t\t\taria-label={ item.title }\n\t\t\taria-describedby={ ariaDescribedBy }\n\t\t>\n\t\t\t{ children }\n\t\t</button>\n\t);\n}\n\nfunction Preview( { item, categoryId, viewType } ) {\n\tconst descriptionId = useId();\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\tconst isEmpty = ! item.blocks?.length;\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 ariaDescriptions = [];\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\tconst [ backgroundColor ] = useGlobalStyle( 'color.background' );\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\treturn (\n\t\t<>\n\t\t\t<div\n\t\t\t\tclassName={ `page-patterns-preview-field is-viewtype-${ viewType }` }\n\t\t\t\tstyle={ { backgroundColor } }\n\t\t\t>\n\t\t\t\t<PreviewWrapper\n\t\t\t\t\titem={ item }\n\t\t\t\t\tonClick={ onClick }\n\t\t\t\t\tariaDescribedBy={\n\t\t\t\t\t\tariaDescriptions.length\n\t\t\t\t\t\t\t? ariaDescriptions\n\t\t\t\t\t\t\t\t\t.map(\n\t\t\t\t\t\t\t\t\t\t( _, index ) =>\n\t\t\t\t\t\t\t\t\t\t\t`${ descriptionId }-${ index }`\n\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t.join( ' ' )\n\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t}\n\t\t\t\t>\n\t\t\t\t\t{ isEmpty && isTemplatePart && __( 'Empty template part' ) }\n\t\t\t\t\t{ isEmpty && ! isTemplatePart && __( 'Empty pattern' ) }\n\t\t\t\t\t{ ! isEmpty && <BlockPreview blocks={ item.blocks } /> }\n\t\t\t\t</PreviewWrapper>\n\t\t\t</div>\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</>\n\t);\n}\n\nfunction Title( { item, categoryId } ) {\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\tlet itemIcon;\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\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\treturn (\n\t\t<HStack alignment=\"center\" justify=\"flex-start\" spacing={ 2 }>\n\t\t\t<Flex\n\t\t\t\tas=\"div\"\n\t\t\t\tgap={ 0 }\n\t\t\t\tjustify=\"left\"\n\t\t\t\tclassName=\"edit-site-patterns__pattern-title\"\n\t\t\t>\n\t\t\t\t{ item.type === PATTERN_TYPES.theme ? (\n\t\t\t\t\titem.title\n\t\t\t\t) : (\n\t\t\t\t\t<Button\n\t\t\t\t\t\tvariant=\"link\"\n\t\t\t\t\t\tonClick={ onClick }\n\t\t\t\t\t\t// Required for the grid's roving tab index system.\n\t\t\t\t\t\t// See https://github.com/WordPress/gutenberg/pull/51898#discussion_r1243399243.\n\t\t\t\t\t\ttabIndex=\"-1\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{ item.title || item.name }\n\t\t\t\t\t</Button>\n\t\t\t\t) }\n\t\t\t</Flex>\n\t\t\t{ itemIcon && ! isNonUserPattern && (\n\t\t\t\t<Tooltip\n\t\t\t\t\tplacement=\"top\"\n\t\t\t\t\ttext={ __(\n\t\t\t\t\t\t'Editing this pattern will also update anywhere it is used'\n\t\t\t\t\t) }\n\t\t\t\t>\n\t\t\t\t\t<Icon\n\t\t\t\t\t\tclassName=\"edit-site-patterns__pattern-icon\"\n\t\t\t\t\t\ticon={ itemIcon }\n\t\t\t\t\t/>\n\t\t\t\t</Tooltip>\n\t\t\t) }\n\t\t\t{ item.type === PATTERN_TYPES.theme && (\n\t\t\t\t<Tooltip\n\t\t\t\t\tplacement=\"top\"\n\t\t\t\t\ttext={ __( 'This pattern cannot be edited.' ) }\n\t\t\t\t>\n\t\t\t\t\t<Icon\n\t\t\t\t\t\tclassName=\"edit-site-patterns__pattern-lock-icon\"\n\t\t\t\t\t\ticon={ lockSmall }\n\t\t\t\t\t\tsize={ 24 }\n\t\t\t\t\t/>\n\t\t\t\t</Tooltip>\n\t\t\t) }\n\t\t</HStack>\n\t);\n}\n\nexport default function DataviewsPatterns() {\n\tconst { categoryType, categoryId = PATTERN_DEFAULT_CATEGORY } =\n\t\tgetQueryArgs( window.location.href );\n\tconst type = categoryType || PATTERN_TYPES.theme;\n\tconst [ view, setView ] = useState( DEFAULT_VIEW );\n\tconst isUncategorizedThemePatterns =\n\t\ttype === PATTERN_TYPES.theme && categoryId === 'uncategorized';\n\tconst previousCategoryId = usePrevious( categoryId );\n\tconst viewSyncStatus = view.filters?.find(\n\t\t( { field } ) => field === 'sync-status'\n\t)?.value;\n\tconst { patterns, isResolving } = usePatterns(\n\t\ttype,\n\t\tisUncategorizedThemePatterns ? '' : categoryId,\n\t\t{\n\t\t\tsearch: view.search,\n\t\t\tsyncStatus: viewSyncStatus,\n\t\t}\n\t);\n\tconst fields = useMemo( () => {\n\t\tconst _fields = [\n\t\t\t{\n\t\t\t\theader: __( 'Preview' ),\n\t\t\t\tid: 'preview',\n\t\t\t\trender: ( { item } ) => (\n\t\t\t\t\t<Preview\n\t\t\t\t\t\titem={ item }\n\t\t\t\t\t\tcategoryId={ categoryId }\n\t\t\t\t\t\tviewType={ view.type }\n\t\t\t\t\t/>\n\t\t\t\t),\n\t\t\t\tenableSorting: false,\n\t\t\t\tenableHiding: 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,\n\t\t\t\trender: ( { item } ) => (\n\t\t\t\t\t<Title item={ item } categoryId={ categoryId } />\n\t\t\t\t),\n\t\t\t\tenableHiding: false,\n\t\t\t},\n\t\t];\n\t\tif ( type === PATTERN_TYPES.theme ) {\n\t\t\t_fields.push( {\n\t\t\t\theader: __( 'Sync Status' ),\n\t\t\t\tid: 'sync-status',\n\t\t\t\trender: ( { item } ) => {\n\t\t\t\t\t// User patterns can have their sync statuses checked directly.\n\t\t\t\t\t// Non-user patterns are all unsynced for the time being.\n\t\t\t\t\treturn (\n\t\t\t\t\t\tSYNC_FILTERS.find(\n\t\t\t\t\t\t\t( { value } ) => value === item.syncStatus\n\t\t\t\t\t\t)?.label ||\n\t\t\t\t\t\tSYNC_FILTERS.find(\n\t\t\t\t\t\t\t( { value } ) =>\n\t\t\t\t\t\t\t\tvalue === PATTERN_SYNC_TYPES.unsynced\n\t\t\t\t\t\t).label\n\t\t\t\t\t);\n\t\t\t\t},\n\t\t\t\ttype: ENUMERATION_TYPE,\n\t\t\t\telements: SYNC_FILTERS,\n\t\t\t\tfilterBy: {\n\t\t\t\t\toperators: [ OPERATOR_IN ],\n\t\t\t\t\tisPrimary: true,\n\t\t\t\t},\n\t\t\t\tenableSorting: false,\n\t\t\t} );\n\t\t}\n\t\treturn _fields;\n\t}, [ view.type, categoryId, type ] );\n\t// Reset the page number when the category changes.\n\tuseEffect( () => {\n\t\tif ( previousCategoryId !== categoryId ) {\n\t\t\tsetView( DEFAULT_VIEW );\n\t\t}\n\t}, [ categoryId, previousCategoryId ] );\n\tconst { data, paginationInfo } = useMemo( () => {\n\t\tif ( ! patterns ) {\n\t\t\treturn {\n\t\t\t\tdata: EMPTY_ARRAY,\n\t\t\t\tpaginationInfo: { totalItems: 0, totalPages: 0 },\n\t\t\t};\n\t\t}\n\t\tlet filteredData = [ ...patterns ];\n\t\t// Handle sorting.\n\t\tif ( view.sort ) {\n\t\t\tfilteredData = sortByTextFields( {\n\t\t\t\tdata: filteredData,\n\t\t\t\tview,\n\t\t\t\tfields,\n\t\t\t\ttextFields: [ 'title', 'author' ],\n\t\t\t} );\n\t\t}\n\t\t// Handle pagination.\n\t\treturn getPaginationResults( {\n\t\t\tdata: filteredData,\n\t\t\tview,\n\t\t} );\n\t}, [ patterns, view, fields ] );\n\n\tconst actions = useMemo(\n\t\t() => [\n\t\t\trenameAction,\n\t\t\tduplicatePatternAction,\n\t\t\tduplicateTemplatePartAction,\n\t\t\texportJSONaction,\n\t\t\tresetAction,\n\t\t\tdeleteAction,\n\t\t],\n\t\t[]\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...defaultConfigPerViewType[ newView.type ],\n\t\t\t\t\t},\n\t\t\t\t};\n\t\t\t}\n\t\t\tsetView( newView );\n\t\t},\n\t\t[ view.type, setView ]\n\t);\n\tconst id = useId();\n\tconst settings = usePatternSettings();\n\t// Wrap everything in a block editor provider.\n\t// This ensures 'styles' that are needed for the previews are synced\n\t// from the site editor store to the block editor store.\n\t// TODO: check if I add the provider in every preview like in templates...\n\treturn (\n\t\t<ExperimentalBlockEditorProvider settings={ settings }>\n\t\t\t<Page\n\t\t\t\ttitle={ __( 'Patterns content' ) }\n\t\t\t\tclassName=\"edit-site-page-patterns-dataviews\"\n\t\t\t\thideTitleFromUI\n\t\t\t>\n\t\t\t\t<PatternsHeader\n\t\t\t\t\tcategoryId={ categoryId }\n\t\t\t\t\ttype={ type }\n\t\t\t\t\ttitleId={ `${ id }-title` }\n\t\t\t\t\tdescriptionId={ `${ id }-description` }\n\t\t\t\t/>\n\t\t\t\t<DataViews\n\t\t\t\t\tpaginationInfo={ paginationInfo }\n\t\t\t\t\tfields={ fields }\n\t\t\t\t\tactions={ actions }\n\t\t\t\t\tdata={ data || EMPTY_ARRAY }\n\t\t\t\t\tgetItemId={ ( item ) => item.name }\n\t\t\t\t\tisLoading={ isResolving }\n\t\t\t\t\tview={ view }\n\t\t\t\t\tonChangeView={ onChangeView }\n\t\t\t\t\tdeferredRendering={ true }\n\t\t\t\t\tsupportedLayouts={ [ LAYOUT_GRID ] }\n\t\t\t\t/>\n\t\t\t</Page>\n\t\t</ExperimentalBlockEditorProvider>\n\t);\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["__experimentalHStack","HStack","Button","Tooltip","Flex","getQueryArgs","__","_x","useState","useMemo","useCallback","useId","useEffect","BlockPreview","privateApis","blockEditorPrivateApis","DataViews","sortByTextFields","getPaginationResults","Icon","header","footer","symbolFilled","uncategorized","symbol","lockSmall","usePrevious","Page","LAYOUT_GRID","PATTERN_TYPES","TEMPLATE_PART_POST_TYPE","PATTERN_SYNC_TYPES","PATTERN_DEFAULT_CATEGORY","ENUMERATION_TYPE","OPERATOR_IN","exportJSONaction","renameAction","resetAction","deleteAction","duplicatePatternAction","duplicateTemplatePartAction","usePatternSettings","unlock","usePatterns","PatternsHeader","useLink","ExperimentalBlockEditorProvider","useGlobalStyle","templatePartIcons","EMPTY_ARRAY","defaultConfigPerViewType","mediaField","primaryField","DEFAULT_VIEW","type","search","page","perPage","hiddenFields","layout","filters","SYNC_FILTERS","value","full","label","description","unsynced","PreviewWrapper","item","onClick","ariaDescribedBy","children","theme","createElement","className","title","Preview","categoryId","viewType","descriptionId","isUserPattern","user","isNonUserPattern","isTemplatePart","isEmpty","blocks","length","isCustomPattern","isCustom","ariaDescriptions","push","backgroundColor","postType","postId","id","name","categoryType","Fragment","style","map","_","index","join","undefined","ariaDescription","key","hidden","Title","itemIcon","syncStatus","alignment","justify","spacing","as","gap","variant","tabIndex","placement","text","icon","size","DataviewsPatterns","window","location","href","view","setView","isUncategorizedThemePatterns","previousCategoryId","viewSyncStatus","find","field","patterns","isResolving","fields","_fields","render","enableSorting","enableHiding","getValue","elements","filterBy","operators","isPrimary","data","paginationInfo","totalItems","totalPages","filteredData","sort","textFields","actions","onChangeView","newView","settings","hideTitleFromUI","titleId","getItemId","isLoading","deferredRendering","supportedLayouts"],"sources":["@wordpress/edit-site/src/components/page-patterns/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalHStack as HStack,\n\tButton,\n\tTooltip,\n\tFlex,\n} from '@wordpress/components';\nimport { getQueryArgs } from '@wordpress/url';\nimport { __, _x } from '@wordpress/i18n';\nimport {\n\tuseState,\n\tuseMemo,\n\tuseCallback,\n\tuseId,\n\tuseEffect,\n} from '@wordpress/element';\nimport {\n\tBlockPreview,\n\tprivateApis as blockEditorPrivateApis,\n} from '@wordpress/block-editor';\nimport {\n\tDataViews,\n\tsortByTextFields,\n\tgetPaginationResults,\n} from '@wordpress/dataviews';\nimport {\n\tIcon,\n\theader,\n\tfooter,\n\tsymbolFilled as uncategorized,\n\tsymbol,\n\tlockSmall,\n} from '@wordpress/icons';\nimport { usePrevious } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport Page from '../page';\nimport {\n\tLAYOUT_GRID,\n\tPATTERN_TYPES,\n\tTEMPLATE_PART_POST_TYPE,\n\tPATTERN_SYNC_TYPES,\n\tPATTERN_DEFAULT_CATEGORY,\n\tENUMERATION_TYPE,\n\tOPERATOR_IN,\n} from '../../utils/constants';\nimport {\n\texportJSONaction,\n\trenameAction,\n\tresetAction,\n\tdeleteAction,\n\tduplicatePatternAction,\n\tduplicateTemplatePartAction,\n} from './dataviews-pattern-actions';\nimport usePatternSettings from './use-pattern-settings';\nimport { unlock } from '../../lock-unlock';\nimport usePatterns from './use-patterns';\nimport PatternsHeader from './header';\nimport { useLink } from '../routes/link';\n\nconst { ExperimentalBlockEditorProvider, useGlobalStyle } = unlock(\n\tblockEditorPrivateApis\n);\n\nconst templatePartIcons = { header, footer, uncategorized };\nconst EMPTY_ARRAY = [];\nconst defaultConfigPerViewType = {\n\t[ LAYOUT_GRID ]: {\n\t\tmediaField: 'preview',\n\t\tprimaryField: 'title',\n\t},\n};\nconst DEFAULT_VIEW = {\n\ttype: LAYOUT_GRID,\n\tsearch: '',\n\tpage: 1,\n\tperPage: 20,\n\thiddenFields: [ 'sync-status' ],\n\tlayout: {\n\t\t...defaultConfigPerViewType[ LAYOUT_GRID ],\n\t},\n\tfilters: [],\n};\n\nconst SYNC_FILTERS = [\n\t{\n\t\tvalue: PATTERN_SYNC_TYPES.full,\n\t\tlabel: _x( 'Synced', 'Option that shows all synchronized patterns' ),\n\t\tdescription: __( 'Patterns that are kept in sync across the site.' ),\n\t},\n\t{\n\t\tvalue: PATTERN_SYNC_TYPES.unsynced,\n\t\tlabel: _x(\n\t\t\t'Not synced',\n\t\t\t'Option that shows all patterns that are not synchronized'\n\t\t),\n\t\tdescription: __(\n\t\t\t'Patterns that can be changed freely without affecting the site.'\n\t\t),\n\t},\n];\n\nfunction PreviewWrapper( { item, onClick, ariaDescribedBy, children } ) {\n\tif ( item.type === PATTERN_TYPES.theme ) {\n\t\treturn children;\n\t}\n\treturn (\n\t\t<button\n\t\t\tclassName=\"page-patterns-preview-field__button\"\n\t\t\ttype=\"button\"\n\t\t\tonClick={ onClick }\n\t\t\taria-label={ item.title }\n\t\t\taria-describedby={ ariaDescribedBy }\n\t\t>\n\t\t\t{ children }\n\t\t</button>\n\t);\n}\n\nfunction Preview( { item, categoryId, viewType } ) {\n\tconst descriptionId = useId();\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\tconst isEmpty = ! item.blocks?.length;\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 ariaDescriptions = [];\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\tconst [ backgroundColor ] = useGlobalStyle( 'color.background' );\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\treturn (\n\t\t<>\n\t\t\t<div\n\t\t\t\tclassName={ `page-patterns-preview-field is-viewtype-${ viewType }` }\n\t\t\t\tstyle={ { backgroundColor } }\n\t\t\t>\n\t\t\t\t<PreviewWrapper\n\t\t\t\t\titem={ item }\n\t\t\t\t\tonClick={ onClick }\n\t\t\t\t\tariaDescribedBy={\n\t\t\t\t\t\tariaDescriptions.length\n\t\t\t\t\t\t\t? ariaDescriptions\n\t\t\t\t\t\t\t\t\t.map(\n\t\t\t\t\t\t\t\t\t\t( _, index ) =>\n\t\t\t\t\t\t\t\t\t\t\t`${ descriptionId }-${ index }`\n\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t.join( ' ' )\n\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t}\n\t\t\t\t>\n\t\t\t\t\t{ isEmpty && isTemplatePart && __( 'Empty template part' ) }\n\t\t\t\t\t{ isEmpty && ! isTemplatePart && __( 'Empty pattern' ) }\n\t\t\t\t\t{ ! isEmpty && <BlockPreview blocks={ item.blocks } /> }\n\t\t\t\t</PreviewWrapper>\n\t\t\t</div>\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</>\n\t);\n}\n\nfunction Title( { item, categoryId } ) {\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\tlet itemIcon;\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\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\treturn (\n\t\t<HStack alignment=\"center\" justify=\"flex-start\" spacing={ 2 }>\n\t\t\t<Flex\n\t\t\t\tas=\"div\"\n\t\t\t\tgap={ 0 }\n\t\t\t\tjustify=\"left\"\n\t\t\t\tclassName=\"edit-site-patterns__pattern-title\"\n\t\t\t>\n\t\t\t\t{ item.type === PATTERN_TYPES.theme ? (\n\t\t\t\t\titem.title\n\t\t\t\t) : (\n\t\t\t\t\t<Button\n\t\t\t\t\t\tvariant=\"link\"\n\t\t\t\t\t\tonClick={ onClick }\n\t\t\t\t\t\t// Required for the grid's roving tab index system.\n\t\t\t\t\t\t// See https://github.com/WordPress/gutenberg/pull/51898#discussion_r1243399243.\n\t\t\t\t\t\ttabIndex=\"-1\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{ item.title || item.name }\n\t\t\t\t\t</Button>\n\t\t\t\t) }\n\t\t\t</Flex>\n\t\t\t{ itemIcon && ! isNonUserPattern && (\n\t\t\t\t<Tooltip\n\t\t\t\t\tplacement=\"top\"\n\t\t\t\t\ttext={ __(\n\t\t\t\t\t\t'Editing this pattern will also update anywhere it is used'\n\t\t\t\t\t) }\n\t\t\t\t>\n\t\t\t\t\t<Icon\n\t\t\t\t\t\tclassName=\"edit-site-patterns__pattern-icon\"\n\t\t\t\t\t\ticon={ itemIcon }\n\t\t\t\t\t/>\n\t\t\t\t</Tooltip>\n\t\t\t) }\n\t\t\t{ item.type === PATTERN_TYPES.theme && (\n\t\t\t\t<Tooltip\n\t\t\t\t\tplacement=\"top\"\n\t\t\t\t\ttext={ __( 'This pattern cannot be edited.' ) }\n\t\t\t\t>\n\t\t\t\t\t<Icon\n\t\t\t\t\t\tclassName=\"edit-site-patterns__pattern-lock-icon\"\n\t\t\t\t\t\ticon={ lockSmall }\n\t\t\t\t\t\tsize={ 24 }\n\t\t\t\t\t/>\n\t\t\t\t</Tooltip>\n\t\t\t) }\n\t\t</HStack>\n\t);\n}\n\nexport default function DataviewsPatterns() {\n\tconst { categoryType, categoryId = PATTERN_DEFAULT_CATEGORY } =\n\t\tgetQueryArgs( window.location.href );\n\tconst type = categoryType || PATTERN_TYPES.theme;\n\tconst [ view, setView ] = useState( DEFAULT_VIEW );\n\tconst isUncategorizedThemePatterns =\n\t\ttype === PATTERN_TYPES.theme && categoryId === 'uncategorized';\n\tconst previousCategoryId = usePrevious( categoryId );\n\tconst viewSyncStatus = view.filters?.find(\n\t\t( { field } ) => field === 'sync-status'\n\t)?.value;\n\tconst { patterns, isResolving } = usePatterns(\n\t\ttype,\n\t\tisUncategorizedThemePatterns ? '' : categoryId,\n\t\t{\n\t\t\tsearch: view.search,\n\t\t\tsyncStatus: viewSyncStatus,\n\t\t}\n\t);\n\tconst fields = useMemo( () => {\n\t\tconst _fields = [\n\t\t\t{\n\t\t\t\theader: __( 'Preview' ),\n\t\t\t\tid: 'preview',\n\t\t\t\trender: ( { item } ) => (\n\t\t\t\t\t<Preview\n\t\t\t\t\t\titem={ item }\n\t\t\t\t\t\tcategoryId={ categoryId }\n\t\t\t\t\t\tviewType={ view.type }\n\t\t\t\t\t/>\n\t\t\t\t),\n\t\t\t\tenableSorting: false,\n\t\t\t\tenableHiding: 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,\n\t\t\t\trender: ( { item } ) => (\n\t\t\t\t\t<Title item={ item } categoryId={ categoryId } />\n\t\t\t\t),\n\t\t\t\tenableHiding: false,\n\t\t\t},\n\t\t];\n\t\tif ( type === PATTERN_TYPES.theme ) {\n\t\t\t_fields.push( {\n\t\t\t\theader: __( 'Sync Status' ),\n\t\t\t\tid: 'sync-status',\n\t\t\t\trender: ( { item } ) => {\n\t\t\t\t\t// User patterns can have their sync statuses checked directly.\n\t\t\t\t\t// Non-user patterns are all unsynced for the time being.\n\t\t\t\t\treturn (\n\t\t\t\t\t\tSYNC_FILTERS.find(\n\t\t\t\t\t\t\t( { value } ) => value === item.syncStatus\n\t\t\t\t\t\t)?.label ||\n\t\t\t\t\t\tSYNC_FILTERS.find(\n\t\t\t\t\t\t\t( { value } ) =>\n\t\t\t\t\t\t\t\tvalue === PATTERN_SYNC_TYPES.unsynced\n\t\t\t\t\t\t).label\n\t\t\t\t\t);\n\t\t\t\t},\n\t\t\t\ttype: ENUMERATION_TYPE,\n\t\t\t\telements: SYNC_FILTERS,\n\t\t\t\tfilterBy: {\n\t\t\t\t\toperators: [ OPERATOR_IN ],\n\t\t\t\t\tisPrimary: true,\n\t\t\t\t},\n\t\t\t\tenableSorting: false,\n\t\t\t} );\n\t\t}\n\t\treturn _fields;\n\t}, [ view.type, categoryId, type ] );\n\t// Reset the page number when the category changes.\n\tuseEffect( () => {\n\t\tif ( previousCategoryId !== categoryId ) {\n\t\t\tsetView( DEFAULT_VIEW );\n\t\t}\n\t}, [ categoryId, previousCategoryId ] );\n\tconst { data, paginationInfo } = useMemo( () => {\n\t\tif ( ! patterns ) {\n\t\t\treturn {\n\t\t\t\tdata: EMPTY_ARRAY,\n\t\t\t\tpaginationInfo: { totalItems: 0, totalPages: 0 },\n\t\t\t};\n\t\t}\n\t\tlet filteredData = [ ...patterns ];\n\t\t// Handle sorting.\n\t\tif ( view.sort ) {\n\t\t\tfilteredData = sortByTextFields( {\n\t\t\t\tdata: filteredData,\n\t\t\t\tview,\n\t\t\t\tfields,\n\t\t\t\ttextFields: [ 'title', 'author' ],\n\t\t\t} );\n\t\t}\n\t\t// Handle pagination.\n\t\treturn getPaginationResults( {\n\t\t\tdata: filteredData,\n\t\t\tview,\n\t\t} );\n\t}, [ patterns, view, fields ] );\n\n\tconst actions = useMemo(\n\t\t() => [\n\t\t\trenameAction,\n\t\t\tduplicatePatternAction,\n\t\t\tduplicateTemplatePartAction,\n\t\t\texportJSONaction,\n\t\t\tresetAction,\n\t\t\tdeleteAction,\n\t\t],\n\t\t[]\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...defaultConfigPerViewType[ newView.type ],\n\t\t\t\t\t},\n\t\t\t\t};\n\t\t\t}\n\t\t\tsetView( newView );\n\t\t},\n\t\t[ view.type, setView ]\n\t);\n\tconst id = useId();\n\tconst settings = usePatternSettings();\n\t// Wrap everything in a block editor provider.\n\t// This ensures 'styles' that are needed for the previews are synced\n\t// from the site editor store to the block editor store.\n\treturn (\n\t\t<ExperimentalBlockEditorProvider settings={ settings }>\n\t\t\t<Page\n\t\t\t\ttitle={ __( 'Patterns content' ) }\n\t\t\t\tclassName=\"edit-site-page-patterns-dataviews\"\n\t\t\t\thideTitleFromUI\n\t\t\t>\n\t\t\t\t<PatternsHeader\n\t\t\t\t\tcategoryId={ categoryId }\n\t\t\t\t\ttype={ type }\n\t\t\t\t\ttitleId={ `${ id }-title` }\n\t\t\t\t\tdescriptionId={ `${ id }-description` }\n\t\t\t\t/>\n\t\t\t\t<DataViews\n\t\t\t\t\tpaginationInfo={ paginationInfo }\n\t\t\t\t\tfields={ fields }\n\t\t\t\t\tactions={ actions }\n\t\t\t\t\tdata={ data || EMPTY_ARRAY }\n\t\t\t\t\tgetItemId={ ( item ) => item.name }\n\t\t\t\t\tisLoading={ isResolving }\n\t\t\t\t\tview={ view }\n\t\t\t\t\tonChangeView={ onChangeView }\n\t\t\t\t\tdeferredRendering\n\t\t\t\t\tsupportedLayouts={ [ LAYOUT_GRID ] }\n\t\t\t\t/>\n\t\t\t</Page>\n\t\t</ExperimentalBlockEditorProvider>\n\t);\n}\n"],"mappings":"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"}
@@ -1,24 +1,14 @@
1
- import { createElement } from "react";
2
- // @ts-check
3
- /**
4
- * External dependencies
5
- */
6
- import classnames from 'classnames';
7
-
8
1
  /**
9
2
  * WordPress dependencies
10
3
  */
11
- import { Icon, __experimentalHStack as HStack } from '@wordpress/components';
12
4
  import { store as coreStore } from '@wordpress/core-data';
13
5
  import { useSelect } from '@wordpress/data';
14
- import { useState } from '@wordpress/element';
15
6
  import { commentAuthorAvatar as authorIcon, layout as themeIcon, plugins as pluginIcon, globe as globeIcon } from '@wordpress/icons';
16
- import { _x } from '@wordpress/i18n';
17
7
 
18
8
  /**
19
9
  * Internal dependencies
20
10
  */
21
- import { TEMPLATE_POST_TYPE, TEMPLATE_ORIGINS } from '../../utils/constants';
11
+ import { TEMPLATE_ORIGINS } from '../../utils/constants';
22
12
 
23
13
  /** @typedef {'wp_template'|'wp_template_part'} TemplateType */
24
14
 
@@ -92,51 +82,4 @@ export function useAddedBy(postType, postId) {
92
82
  }
93
83
  }, [postType, postId]);
94
84
  }
95
-
96
- /**
97
- * @param {Object} props
98
- * @param {string} props.imageUrl
99
- */
100
- export function AvatarImage({
101
- imageUrl
102
- }) {
103
- const [isImageLoaded, setIsImageLoaded] = useState(false);
104
- return createElement("div", {
105
- className: classnames('edit-site-list-added-by__avatar', {
106
- 'is-loaded': isImageLoaded
107
- })
108
- }, createElement("img", {
109
- onLoad: () => setIsImageLoaded(true),
110
- alt: "",
111
- src: imageUrl
112
- }));
113
- }
114
-
115
- /**
116
- * @param {Object} props
117
- * @param {TemplateType} props.postType The template post type.
118
- * @param {number} props.postId The template post id.
119
- */
120
- export default function AddedBy({
121
- postType,
122
- postId
123
- }) {
124
- const {
125
- text,
126
- icon,
127
- imageUrl,
128
- isCustomized
129
- } = useAddedBy(postType, postId);
130
- return createElement(HStack, {
131
- alignment: "left"
132
- }, imageUrl ? createElement(AvatarImage, {
133
- imageUrl: imageUrl
134
- }) : createElement("div", {
135
- className: "edit-site-list-added-by__icon"
136
- }, createElement(Icon, {
137
- icon: icon
138
- })), createElement("span", null, text, isCustomized && createElement("span", {
139
- className: "edit-site-list-added-by__customized-info"
140
- }, postType === TEMPLATE_POST_TYPE ? _x('Customized', 'template') : _x('Customized', 'template part'))));
141
- }
142
- //# sourceMappingURL=added-by.js.map
85
+ //# sourceMappingURL=hooks.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["store","coreStore","useSelect","commentAuthorAvatar","authorIcon","layout","themeIcon","plugins","pluginIcon","globe","globeIcon","TEMPLATE_ORIGINS","useAddedBy","postType","postId","select","getEntityRecord","getMedia","getUser","getEditedEntityRecord","template","originalSource","original_source","authorText","author_text","type","icon","text","isCustomized","source","custom","siteData","imageUrl","site_logo","source_url","undefined","user","author","avatar_urls"],"sources":["@wordpress/edit-site/src/components/page-templates-template-parts/hooks.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useSelect } from '@wordpress/data';\nimport {\n\tcommentAuthorAvatar as authorIcon,\n\tlayout as themeIcon,\n\tplugins as pluginIcon,\n\tglobe as globeIcon,\n} from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport { TEMPLATE_ORIGINS } from '../../utils/constants';\n\n/** @typedef {'wp_template'|'wp_template_part'} TemplateType */\n\n/**\n * @typedef {'theme'|'plugin'|'site'|'user'} AddedByType\n *\n * @typedef AddedByData\n * @type {Object}\n * @property {AddedByType} type The type of the data.\n * @property {JSX.Element} icon The icon to display.\n * @property {string} [imageUrl] The optional image URL to display.\n * @property {string} [text] The text to display.\n * @property {boolean} isCustomized Whether the template has been customized.\n *\n * @param {TemplateType} postType The template post type.\n * @param {number} postId The template post id.\n * @return {AddedByData} The added by object or null.\n */\nexport function useAddedBy( postType, postId ) {\n\treturn useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetEntityRecord,\n\t\t\t\tgetMedia,\n\t\t\t\tgetUser,\n\t\t\t\tgetEditedEntityRecord,\n\t\t\t} = select( coreStore );\n\t\t\tconst template = getEditedEntityRecord(\n\t\t\t\t'postType',\n\t\t\t\tpostType,\n\t\t\t\tpostId\n\t\t\t);\n\t\t\tconst originalSource = template?.original_source;\n\t\t\tconst authorText = template?.author_text;\n\n\t\t\tswitch ( originalSource ) {\n\t\t\t\tcase 'theme': {\n\t\t\t\t\treturn {\n\t\t\t\t\t\ttype: originalSource,\n\t\t\t\t\t\ticon: themeIcon,\n\t\t\t\t\t\ttext: authorText,\n\t\t\t\t\t\tisCustomized:\n\t\t\t\t\t\t\ttemplate.source === TEMPLATE_ORIGINS.custom,\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t\tcase 'plugin': {\n\t\t\t\t\treturn {\n\t\t\t\t\t\ttype: originalSource,\n\t\t\t\t\t\ticon: pluginIcon,\n\t\t\t\t\t\ttext: authorText,\n\t\t\t\t\t\tisCustomized:\n\t\t\t\t\t\t\ttemplate.source === TEMPLATE_ORIGINS.custom,\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t\tcase 'site': {\n\t\t\t\t\tconst siteData = getEntityRecord(\n\t\t\t\t\t\t'root',\n\t\t\t\t\t\t'__unstableBase'\n\t\t\t\t\t);\n\t\t\t\t\treturn {\n\t\t\t\t\t\ttype: originalSource,\n\t\t\t\t\t\ticon: globeIcon,\n\t\t\t\t\t\timageUrl: siteData?.site_logo\n\t\t\t\t\t\t\t? getMedia( siteData.site_logo )?.source_url\n\t\t\t\t\t\t\t: undefined,\n\t\t\t\t\t\ttext: authorText,\n\t\t\t\t\t\tisCustomized: false,\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t\tdefault: {\n\t\t\t\t\tconst user = getUser( template.author );\n\t\t\t\t\treturn {\n\t\t\t\t\t\ttype: 'user',\n\t\t\t\t\t\ticon: authorIcon,\n\t\t\t\t\t\timageUrl: user?.avatar_urls?.[ 48 ],\n\t\t\t\t\t\ttext: authorText,\n\t\t\t\t\t\tisCustomized: false,\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t[ postType, postId ]\n\t);\n}\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,KAAK,IAAIC,SAAS,QAAQ,sBAAsB;AACzD,SAASC,SAAS,QAAQ,iBAAiB;AAC3C,SACCC,mBAAmB,IAAIC,UAAU,EACjCC,MAAM,IAAIC,SAAS,EACnBC,OAAO,IAAIC,UAAU,EACrBC,KAAK,IAAIC,SAAS,QACZ,kBAAkB;;AAEzB;AACA;AACA;AACA,SAASC,gBAAgB,QAAQ,uBAAuB;;AAExD;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,UAAUA,CAAEC,QAAQ,EAAEC,MAAM,EAAG;EAC9C,OAAOZ,SAAS,CACba,MAAM,IAAM;IACb,MAAM;MACLC,eAAe;MACfC,QAAQ;MACRC,OAAO;MACPC;IACD,CAAC,GAAGJ,MAAM,CAAEd,SAAU,CAAC;IACvB,MAAMmB,QAAQ,GAAGD,qBAAqB,CACrC,UAAU,EACVN,QAAQ,EACRC,MACD,CAAC;IACD,MAAMO,cAAc,GAAGD,QAAQ,EAAEE,eAAe;IAChD,MAAMC,UAAU,GAAGH,QAAQ,EAAEI,WAAW;IAExC,QAASH,cAAc;MACtB,KAAK,OAAO;QAAE;UACb,OAAO;YACNI,IAAI,EAAEJ,cAAc;YACpBK,IAAI,EAAEpB,SAAS;YACfqB,IAAI,EAAEJ,UAAU;YAChBK,YAAY,EACXR,QAAQ,CAACS,MAAM,KAAKlB,gBAAgB,CAACmB;UACvC,CAAC;QACF;MACA,KAAK,QAAQ;QAAE;UACd,OAAO;YACNL,IAAI,EAAEJ,cAAc;YACpBK,IAAI,EAAElB,UAAU;YAChBmB,IAAI,EAAEJ,UAAU;YAChBK,YAAY,EACXR,QAAQ,CAACS,MAAM,KAAKlB,gBAAgB,CAACmB;UACvC,CAAC;QACF;MACA,KAAK,MAAM;QAAE;UACZ,MAAMC,QAAQ,GAAGf,eAAe,CAC/B,MAAM,EACN,gBACD,CAAC;UACD,OAAO;YACNS,IAAI,EAAEJ,cAAc;YACpBK,IAAI,EAAEhB,SAAS;YACfsB,QAAQ,EAAED,QAAQ,EAAEE,SAAS,GAC1BhB,QAAQ,CAAEc,QAAQ,CAACE,SAAU,CAAC,EAAEC,UAAU,GAC1CC,SAAS;YACZR,IAAI,EAAEJ,UAAU;YAChBK,YAAY,EAAE;UACf,CAAC;QACF;MACA;QAAS;UACR,MAAMQ,IAAI,GAAGlB,OAAO,CAAEE,QAAQ,CAACiB,MAAO,CAAC;UACvC,OAAO;YACNZ,IAAI,EAAE,MAAM;YACZC,IAAI,EAAEtB,UAAU;YAChB4B,QAAQ,EAAEI,IAAI,EAAEE,WAAW,GAAI,EAAE,CAAE;YACnCX,IAAI,EAAEJ,UAAU;YAChBK,YAAY,EAAE;UACf,CAAC;QACF;IACD;EACD,CAAC,EACD,CAAEf,QAAQ,EAAEC,MAAM,CACnB,CAAC;AACF"}
@@ -2,6 +2,7 @@ import { createElement, Fragment } from "react";
2
2
  /**
3
3
  * External dependencies
4
4
  */
5
+ import classnames from 'classnames';
5
6
  import removeAccents from 'remove-accents';
6
7
 
7
8
  /**
@@ -23,7 +24,7 @@ import { privateApis as routerPrivateApis } from '@wordpress/router';
23
24
  import Page from '../page';
24
25
  import { default as Link, useLink } from '../routes/link';
25
26
  import AddNewTemplate from '../add-new-template';
26
- import { useAddedBy, AvatarImage } from '../list/added-by';
27
+ import { useAddedBy } from './hooks';
27
28
  import { TEMPLATE_POST_TYPE, TEMPLATE_PART_POST_TYPE, ENUMERATION_TYPE, OPERATOR_IN, OPERATOR_NOT_IN, LAYOUT_GRID, LAYOUT_TABLE, LAYOUT_LIST } from '../../utils/constants';
28
29
  import { useResetTemplateAction, deleteTemplateAction, renameTemplateAction } from './actions';
29
30
  import { postRevisionsAction } from '../actions';
@@ -98,6 +99,7 @@ function AuthorField({
98
99
  item,
99
100
  viewType
100
101
  }) {
102
+ const [isImageLoaded, setIsImageLoaded] = useState(false);
101
103
  const {
102
104
  text,
103
105
  icon,
@@ -107,10 +109,16 @@ function AuthorField({
107
109
  return createElement(HStack, {
108
110
  alignment: "left",
109
111
  spacing: 1
110
- }, withIcon && imageUrl && createElement(AvatarImage, {
111
- imageUrl: imageUrl
112
- }), withIcon && !imageUrl && createElement("div", {
113
- className: "edit-site-list-added-by__icon"
112
+ }, withIcon && imageUrl && createElement("div", {
113
+ className: classnames('page-templates-author-field__avatar', {
114
+ 'is-loaded': isImageLoaded
115
+ })
116
+ }, createElement("img", {
117
+ onLoad: () => setIsImageLoaded(true),
118
+ alt: "",
119
+ src: imageUrl
120
+ })), withIcon && !imageUrl && createElement("div", {
121
+ className: "page-templates-author-field__icon"
114
122
  }, createElement(Icon, {
115
123
  icon: icon
116
124
  })), createElement("span", null, text));
@@ -1 +1 @@
1
- {"version":3,"names":["removeAccents","Icon","__experimentalText","Text","__experimentalHStack","HStack","VisuallyHidden","__","useState","useMemo","useCallback","useEffect","useEntityRecords","decodeEntities","parse","BlockPreview","privateApis","blockEditorPrivateApis","DataViews","sortByTextFields","getPaginationResults","routerPrivateApis","Page","default","Link","useLink","AddNewTemplate","useAddedBy","AvatarImage","TEMPLATE_POST_TYPE","TEMPLATE_PART_POST_TYPE","ENUMERATION_TYPE","OPERATOR_IN","OPERATOR_NOT_IN","LAYOUT_GRID","LAYOUT_TABLE","LAYOUT_LIST","useResetTemplateAction","deleteTemplateAction","renameTemplateAction","postRevisionsAction","usePatternSettings","unlock","AddNewTemplatePart","ExperimentalBlockEditorProvider","useGlobalStyle","useHistory","useLocation","EMPTY_ARRAY","SUPPORTED_LAYOUTS","window","__experimentalAdminViews","defaultConfigPerViewType","primaryField","mediaField","DEFAULT_VIEW","type","search","page","perPage","sort","field","direction","hiddenFields","layout","filters","normalizeSearchInput","input","trim","toLowerCase","Title","item","viewType","title","rendered","linkProps","params","postId","id","postType","canvas","state","backPath","createElement","AuthorField","text","icon","imageUrl","withIcon","alignment","spacing","className","Preview","settings","backgroundColor","blocks","content","raw","onClick","isEmpty","length","style","PageTemplatesTemplateParts","activeView","defaultView","usedType","operator","value","view","setView","currentView","records","isResolving","isLoadingData","per_page","history","onSelectionChange","items","push","undefined","authors","authorsSet","Set","forEach","template","add","author_text","Array","from","map","author","label","fields","_fields","header","render","minWidth","maxWidth","enableSorting","getValue","enableHiding","description","Fragment","variant","elements","width","data","paginationInfo","totalItems","totalPages","filteredData","normalizedSearch","filter","slug","includes","textFields","resetTemplateAction","actions","onChangeView","newView","templateType","showIcon","toggleProps","isLoading","deferredRendering","supportedLayouts"],"sources":["@wordpress/edit-site/src/components/page-templates-template-parts/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport removeAccents from 'remove-accents';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tIcon,\n\t__experimentalText as Text,\n\t__experimentalHStack as HStack,\n\tVisuallyHidden,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { useState, useMemo, useCallback, useEffect } from '@wordpress/element';\nimport { useEntityRecords } from '@wordpress/core-data';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { parse } from '@wordpress/blocks';\nimport {\n\tBlockPreview,\n\tprivateApis as blockEditorPrivateApis,\n} from '@wordpress/block-editor';\nimport {\n\tDataViews,\n\tsortByTextFields,\n\tgetPaginationResults,\n} from '@wordpress/dataviews';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\n\n/**\n * Internal dependencies\n */\nimport Page from '../page';\nimport { default as Link, useLink } from '../routes/link';\nimport AddNewTemplate from '../add-new-template';\nimport { useAddedBy, AvatarImage } from '../list/added-by';\nimport {\n\tTEMPLATE_POST_TYPE,\n\tTEMPLATE_PART_POST_TYPE,\n\tENUMERATION_TYPE,\n\tOPERATOR_IN,\n\tOPERATOR_NOT_IN,\n\tLAYOUT_GRID,\n\tLAYOUT_TABLE,\n\tLAYOUT_LIST,\n} from '../../utils/constants';\nimport {\n\tuseResetTemplateAction,\n\tdeleteTemplateAction,\n\trenameTemplateAction,\n} from './actions';\nimport { postRevisionsAction } from '../actions';\nimport usePatternSettings from '../page-patterns/use-pattern-settings';\nimport { unlock } from '../../lock-unlock';\nimport AddNewTemplatePart from './add-new-template-part';\n\nconst { ExperimentalBlockEditorProvider, useGlobalStyle } = unlock(\n\tblockEditorPrivateApis\n);\nconst { useHistory, useLocation } = unlock( routerPrivateApis );\n\nconst EMPTY_ARRAY = [];\n\nconst SUPPORTED_LAYOUTS = window?.__experimentalAdminViews\n\t? [ LAYOUT_TABLE, LAYOUT_GRID, LAYOUT_LIST ]\n\t: [ LAYOUT_TABLE, LAYOUT_GRID ];\n\nconst defaultConfigPerViewType = {\n\t[ LAYOUT_TABLE ]: {\n\t\tprimaryField: 'title',\n\t},\n\t[ LAYOUT_GRID ]: {\n\t\tmediaField: 'preview',\n\t\tprimaryField: 'title',\n\t},\n\t[ LAYOUT_LIST ]: {\n\t\tprimaryField: 'title',\n\t\tmediaField: 'preview',\n\t},\n};\n\nconst DEFAULT_VIEW = {\n\ttype: LAYOUT_TABLE,\n\tsearch: '',\n\tpage: 1,\n\tperPage: 20,\n\tsort: {\n\t\tfield: 'title',\n\t\tdirection: 'asc',\n\t},\n\t// All fields are visible by default, so it's\n\t// better to keep track of the hidden ones.\n\thiddenFields: [ 'preview' ],\n\tlayout: defaultConfigPerViewType[ LAYOUT_TABLE ],\n\tfilters: [],\n};\n\nfunction normalizeSearchInput( input = '' ) {\n\treturn removeAccents( input.trim().toLowerCase() );\n}\n\nfunction Title( { item, viewType } ) {\n\tif ( viewType === LAYOUT_LIST ) {\n\t\treturn decodeEntities( item.title?.rendered ) || __( '(no title)' );\n\t}\n\tconst linkProps = {\n\t\tparams: {\n\t\t\tpostId: item.id,\n\t\t\tpostType: item.type,\n\t\t\tcanvas: 'edit',\n\t\t},\n\t};\n\tif ( item.type === TEMPLATE_PART_POST_TYPE ) {\n\t\tlinkProps.state = {\n\t\t\tbackPath: '/wp_template_part/all',\n\t\t};\n\t}\n\treturn (\n\t\t<Link { ...linkProps }>\n\t\t\t{ decodeEntities( item.title?.rendered ) || __( '(no title)' ) }\n\t\t</Link>\n\t);\n}\n\nfunction AuthorField( { item, viewType } ) {\n\tconst { text, icon, imageUrl } = useAddedBy( item.type, item.id );\n\tconst withIcon = viewType !== LAYOUT_LIST;\n\n\treturn (\n\t\t<HStack alignment=\"left\" spacing={ 1 }>\n\t\t\t{ withIcon && imageUrl && <AvatarImage imageUrl={ imageUrl } /> }\n\t\t\t{ withIcon && ! imageUrl && (\n\t\t\t\t<div className=\"edit-site-list-added-by__icon\">\n\t\t\t\t\t<Icon icon={ icon } />\n\t\t\t\t</div>\n\t\t\t) }\n\t\t\t<span>{ text }</span>\n\t\t</HStack>\n\t);\n}\n\nfunction Preview( { item, viewType } ) {\n\tconst settings = usePatternSettings();\n\tconst [ backgroundColor = 'white' ] = useGlobalStyle( 'color.background' );\n\tconst blocks = useMemo( () => {\n\t\treturn parse( item.content.raw );\n\t}, [ item.content.raw ] );\n\tconst { onClick } = useLink( {\n\t\tpostId: item.id,\n\t\tpostType: item.type,\n\t\tcanvas: 'edit',\n\t} );\n\n\tconst isEmpty = ! blocks?.length;\n\t// Wrap everything in a block editor provider to ensure 'styles' that are needed\n\t// for the previews are synced between the site editor store and the block editor store.\n\t// Additionally we need to have the `__experimentalBlockPatterns` setting in order to\n\t// render patterns inside the previews.\n\t// TODO: Same approach is used in the patterns list and it becomes obvious that some of\n\t// the block editor settings are needed in context where we don't have the block editor.\n\t// Explore how we can solve this in a better way.\n\treturn (\n\t\t<ExperimentalBlockEditorProvider settings={ settings }>\n\t\t\t<div\n\t\t\t\tclassName={ `page-templates-preview-field is-viewtype-${ viewType }` }\n\t\t\t\tstyle={ { backgroundColor } }\n\t\t\t>\n\t\t\t\t{ viewType === LAYOUT_LIST && ! isEmpty && (\n\t\t\t\t\t<BlockPreview blocks={ blocks } />\n\t\t\t\t) }\n\t\t\t\t{ viewType !== LAYOUT_LIST && (\n\t\t\t\t\t<button\n\t\t\t\t\t\tclassName=\"page-templates-preview-field__button\"\n\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\tonClick={ onClick }\n\t\t\t\t\t\taria-label={ item.title?.rendered || item.title }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ isEmpty &&\n\t\t\t\t\t\t\t( item.type === TEMPLATE_POST_TYPE\n\t\t\t\t\t\t\t\t? __( 'Empty template' )\n\t\t\t\t\t\t\t\t: __( 'Empty template part' ) ) }\n\t\t\t\t\t\t{ ! isEmpty && <BlockPreview blocks={ blocks } /> }\n\t\t\t\t\t</button>\n\t\t\t\t) }\n\t\t\t</div>\n\t\t</ExperimentalBlockEditorProvider>\n\t);\n}\n\nexport default function PageTemplatesTemplateParts( { postType } ) {\n\tconst { params } = useLocation();\n\tconst { activeView = 'all', layout } = params;\n\tconst defaultView = useMemo( () => {\n\t\tconst usedType = window?.__experimentalAdminViews\n\t\t\t? layout ?? DEFAULT_VIEW.type\n\t\t\t: DEFAULT_VIEW.type;\n\t\treturn {\n\t\t\t...DEFAULT_VIEW,\n\t\t\ttype: usedType,\n\t\t\tlayout: defaultConfigPerViewType[ usedType ],\n\t\t\tfilters:\n\t\t\t\tactiveView !== 'all'\n\t\t\t\t\t? [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tfield: 'author',\n\t\t\t\t\t\t\t\toperator: 'in',\n\t\t\t\t\t\t\t\tvalue: activeView,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t ]\n\t\t\t\t\t: [],\n\t\t};\n\t}, [ layout, activeView ] );\n\tconst [ view, setView ] = useState( defaultView );\n\tuseEffect( () => {\n\t\tsetView( ( currentView ) => ( {\n\t\t\t...currentView,\n\t\t\tfilters:\n\t\t\t\tactiveView !== 'all'\n\t\t\t\t\t? [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tfield: 'author',\n\t\t\t\t\t\t\t\toperator: 'in',\n\t\t\t\t\t\t\t\tvalue: activeView,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t ]\n\t\t\t\t\t: [],\n\t\t} ) );\n\t}, [ activeView ] );\n\n\tconst { records, isResolving: isLoadingData } = useEntityRecords(\n\t\t'postType',\n\t\tpostType,\n\t\t{\n\t\t\tper_page: -1,\n\t\t}\n\t);\n\tconst history = useHistory();\n\tconst onSelectionChange = useCallback(\n\t\t( items ) => {\n\t\t\tif ( 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 ]\n\t);\n\n\tconst authors = useMemo( () => {\n\t\tif ( ! records ) {\n\t\t\treturn EMPTY_ARRAY;\n\t\t}\n\t\tconst authorsSet = new Set();\n\t\trecords.forEach( ( template ) => {\n\t\t\tauthorsSet.add( template.author_text );\n\t\t} );\n\t\treturn Array.from( authorsSet ).map( ( author ) => ( {\n\t\t\tvalue: author,\n\t\t\tlabel: author,\n\t\t} ) );\n\t}, [ records ] );\n\n\tconst fields = useMemo( () => {\n\t\tconst _fields = [\n\t\t\t{\n\t\t\t\theader: __( 'Preview' ),\n\t\t\t\tid: 'preview',\n\t\t\t\trender: ( { item } ) => {\n\t\t\t\t\treturn <Preview item={ item } viewType={ view.type } />;\n\t\t\t\t},\n\t\t\t\tminWidth: 120,\n\t\t\t\tmaxWidth: 120,\n\t\t\t\tenableSorting: false,\n\t\t\t},\n\t\t\t{\n\t\t\t\theader:\n\t\t\t\t\tpostType === TEMPLATE_POST_TYPE\n\t\t\t\t\t\t? __( 'Template' )\n\t\t\t\t\t\t: __( 'Template Part' ),\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\t<Title item={ item } viewType={ view.type } />\n\t\t\t\t),\n\t\t\t\tmaxWidth: 400,\n\t\t\t\tenableHiding: false,\n\t\t\t},\n\t\t];\n\t\tif ( postType === TEMPLATE_POST_TYPE ) {\n\t\t\t_fields.push( {\n\t\t\t\theader: __( 'Description' ),\n\t\t\t\tid: 'description',\n\t\t\t\tgetValue: ( { item } ) => item.description,\n\t\t\t\trender: ( { item } ) => {\n\t\t\t\t\treturn item.description ? (\n\t\t\t\t\t\t<span className=\"page-templates-description\">\n\t\t\t\t\t\t\t{ decodeEntities( item.description ) }\n\t\t\t\t\t\t</span>\n\t\t\t\t\t) : (\n\t\t\t\t\t\tview.type === LAYOUT_TABLE && (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t<Text variant=\"muted\" aria-hidden=\"true\">\n\t\t\t\t\t\t\t\t\t&#8212;\n\t\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t\t<VisuallyHidden>\n\t\t\t\t\t\t\t\t\t{ __( 'No description.' ) }\n\t\t\t\t\t\t\t\t</VisuallyHidden>\n\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t)\n\t\t\t\t\t);\n\t\t\t\t},\n\t\t\t\tmaxWidth: 400,\n\t\t\t\tminWidth: 320,\n\t\t\t\tenableSorting: false,\n\t\t\t} );\n\t\t}\n\t\t// TODO: The plan is to support fields reordering, which would require an API like `order` or something\n\t\t// similar. With the aforementioned API we wouldn't need to construct the fields array like this.\n\t\t_fields.push( {\n\t\t\theader: __( 'Author' ),\n\t\t\tid: 'author',\n\t\t\tgetValue: ( { item } ) => item.author_text,\n\t\t\trender: ( { item } ) => {\n\t\t\t\treturn <AuthorField viewType={ view.type } item={ item } />;\n\t\t\t},\n\t\t\ttype: ENUMERATION_TYPE,\n\t\t\telements: authors,\n\t\t\twidth: '1%',\n\t\t} );\n\t\treturn _fields;\n\t}, [ postType, authors, view.type ] );\n\n\tconst { data, paginationInfo } = useMemo( () => {\n\t\tif ( ! records ) {\n\t\t\treturn {\n\t\t\t\tdata: EMPTY_ARRAY,\n\t\t\t\tpaginationInfo: { totalItems: 0, totalPages: 0 },\n\t\t\t};\n\t\t}\n\t\tlet filteredData = [ ...records ];\n\t\t// Handle global search.\n\t\tif ( view.search ) {\n\t\t\tconst normalizedSearch = normalizeSearchInput( view.search );\n\t\t\tfilteredData = filteredData.filter( ( item ) => {\n\t\t\t\tconst title = item.title?.rendered || item.slug;\n\t\t\t\treturn (\n\t\t\t\t\tnormalizeSearchInput( title ).includes(\n\t\t\t\t\t\tnormalizedSearch\n\t\t\t\t\t) ||\n\t\t\t\t\tnormalizeSearchInput( item.description ).includes(\n\t\t\t\t\t\tnormalizedSearch\n\t\t\t\t\t)\n\t\t\t\t);\n\t\t\t} );\n\t\t}\n\n\t\t// Handle filters.\n\t\tif ( view.filters.length > 0 ) {\n\t\t\tview.filters.forEach( ( filter ) => {\n\t\t\t\tif (\n\t\t\t\t\tfilter.field === 'author' &&\n\t\t\t\t\tfilter.operator === OPERATOR_IN &&\n\t\t\t\t\t!! filter.value\n\t\t\t\t) {\n\t\t\t\t\tfilteredData = filteredData.filter( ( item ) => {\n\t\t\t\t\t\treturn item.author_text === filter.value;\n\t\t\t\t\t} );\n\t\t\t\t} else if (\n\t\t\t\t\tfilter.field === 'author' &&\n\t\t\t\t\tfilter.operator === OPERATOR_NOT_IN &&\n\t\t\t\t\t!! filter.value\n\t\t\t\t) {\n\t\t\t\t\tfilteredData = filteredData.filter( ( item ) => {\n\t\t\t\t\t\treturn item.author_text !== filter.value;\n\t\t\t\t\t} );\n\t\t\t\t}\n\t\t\t} );\n\t\t}\n\n\t\t// Handle sorting.\n\t\tif ( view.sort ) {\n\t\t\tfilteredData = sortByTextFields( {\n\t\t\t\tdata: filteredData,\n\t\t\t\tview,\n\t\t\t\tfields,\n\t\t\t\ttextFields: [ 'title', 'author' ],\n\t\t\t} );\n\t\t}\n\t\t// Handle pagination.\n\t\treturn getPaginationResults( {\n\t\t\tdata: filteredData,\n\t\t\tview,\n\t\t} );\n\t}, [ records, view, fields ] );\n\n\tconst resetTemplateAction = useResetTemplateAction();\n\tconst actions = useMemo(\n\t\t() => [\n\t\t\tresetTemplateAction,\n\t\t\tdeleteTemplateAction,\n\t\t\trenameTemplateAction,\n\t\t\tpostRevisionsAction,\n\t\t],\n\t\t[ resetTemplateAction ]\n\t);\n\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...defaultConfigPerViewType[ newView.type ],\n\t\t\t\t\t},\n\t\t\t\t};\n\n\t\t\t\thistory.push( {\n\t\t\t\t\t...params,\n\t\t\t\t\tlayout: newView.type,\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\tsetView( newView );\n\t\t},\n\t\t[ view.type, setView, history, params ]\n\t);\n\n\treturn (\n\t\t<Page\n\t\t\tclassName=\"edit-site-page-template-template-parts-dataviews\"\n\t\t\ttitle={\n\t\t\t\tpostType === TEMPLATE_POST_TYPE\n\t\t\t\t\t? __( 'Templates' )\n\t\t\t\t\t: __( 'Template Parts' )\n\t\t\t}\n\t\t\tactions={\n\t\t\t\tpostType === TEMPLATE_POST_TYPE ? (\n\t\t\t\t\t<AddNewTemplate\n\t\t\t\t\t\ttemplateType={ postType }\n\t\t\t\t\t\tshowIcon={ false }\n\t\t\t\t\t\ttoggleProps={ { variant: 'primary' } }\n\t\t\t\t\t/>\n\t\t\t\t) : (\n\t\t\t\t\t<AddNewTemplatePart />\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={ data }\n\t\t\t\tisLoading={ isLoadingData }\n\t\t\t\tview={ view }\n\t\t\t\tonChangeView={ onChangeView }\n\t\t\t\tonSelectionChange={ onSelectionChange }\n\t\t\t\tdeferredRendering={ ! view.hiddenFields?.includes( 'preview' ) }\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","removeAccents","Icon","__experimentalText","Text","__experimentalHStack","HStack","VisuallyHidden","__","useState","useMemo","useCallback","useEffect","useEntityRecords","decodeEntities","parse","BlockPreview","privateApis","blockEditorPrivateApis","DataViews","sortByTextFields","getPaginationResults","routerPrivateApis","Page","default","Link","useLink","AddNewTemplate","useAddedBy","TEMPLATE_POST_TYPE","TEMPLATE_PART_POST_TYPE","ENUMERATION_TYPE","OPERATOR_IN","OPERATOR_NOT_IN","LAYOUT_GRID","LAYOUT_TABLE","LAYOUT_LIST","useResetTemplateAction","deleteTemplateAction","renameTemplateAction","postRevisionsAction","usePatternSettings","unlock","AddNewTemplatePart","ExperimentalBlockEditorProvider","useGlobalStyle","useHistory","useLocation","EMPTY_ARRAY","SUPPORTED_LAYOUTS","window","__experimentalAdminViews","defaultConfigPerViewType","primaryField","mediaField","DEFAULT_VIEW","type","search","page","perPage","sort","field","direction","hiddenFields","layout","filters","normalizeSearchInput","input","trim","toLowerCase","Title","item","viewType","title","rendered","linkProps","params","postId","id","postType","canvas","state","backPath","createElement","AuthorField","isImageLoaded","setIsImageLoaded","text","icon","imageUrl","withIcon","alignment","spacing","className","onLoad","alt","src","Preview","settings","backgroundColor","blocks","content","raw","onClick","isEmpty","length","style","PageTemplatesTemplateParts","activeView","defaultView","usedType","operator","value","view","setView","currentView","records","isResolving","isLoadingData","per_page","history","onSelectionChange","items","push","undefined","authors","authorsSet","Set","forEach","template","add","author_text","Array","from","map","author","label","fields","_fields","header","render","minWidth","maxWidth","enableSorting","getValue","enableHiding","description","Fragment","variant","elements","width","data","paginationInfo","totalItems","totalPages","filteredData","normalizedSearch","filter","slug","includes","textFields","resetTemplateAction","actions","onChangeView","newView","templateType","showIcon","toggleProps","isLoading","deferredRendering","supportedLayouts"],"sources":["@wordpress/edit-site/src/components/page-templates-template-parts/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\nimport removeAccents from 'remove-accents';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tIcon,\n\t__experimentalText as Text,\n\t__experimentalHStack as HStack,\n\tVisuallyHidden,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { useState, useMemo, useCallback, useEffect } from '@wordpress/element';\nimport { useEntityRecords } from '@wordpress/core-data';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { parse } from '@wordpress/blocks';\nimport {\n\tBlockPreview,\n\tprivateApis as blockEditorPrivateApis,\n} from '@wordpress/block-editor';\nimport {\n\tDataViews,\n\tsortByTextFields,\n\tgetPaginationResults,\n} from '@wordpress/dataviews';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\n\n/**\n * Internal dependencies\n */\nimport Page from '../page';\nimport { default as Link, useLink } from '../routes/link';\nimport AddNewTemplate from '../add-new-template';\nimport { useAddedBy } from './hooks';\nimport {\n\tTEMPLATE_POST_TYPE,\n\tTEMPLATE_PART_POST_TYPE,\n\tENUMERATION_TYPE,\n\tOPERATOR_IN,\n\tOPERATOR_NOT_IN,\n\tLAYOUT_GRID,\n\tLAYOUT_TABLE,\n\tLAYOUT_LIST,\n} from '../../utils/constants';\nimport {\n\tuseResetTemplateAction,\n\tdeleteTemplateAction,\n\trenameTemplateAction,\n} from './actions';\nimport { postRevisionsAction } from '../actions';\nimport usePatternSettings from '../page-patterns/use-pattern-settings';\nimport { unlock } from '../../lock-unlock';\nimport AddNewTemplatePart from './add-new-template-part';\n\nconst { ExperimentalBlockEditorProvider, useGlobalStyle } = unlock(\n\tblockEditorPrivateApis\n);\nconst { useHistory, useLocation } = unlock( routerPrivateApis );\n\nconst EMPTY_ARRAY = [];\n\nconst SUPPORTED_LAYOUTS = window?.__experimentalAdminViews\n\t? [ LAYOUT_TABLE, LAYOUT_GRID, LAYOUT_LIST ]\n\t: [ LAYOUT_TABLE, LAYOUT_GRID ];\n\nconst defaultConfigPerViewType = {\n\t[ LAYOUT_TABLE ]: {\n\t\tprimaryField: 'title',\n\t},\n\t[ LAYOUT_GRID ]: {\n\t\tmediaField: 'preview',\n\t\tprimaryField: 'title',\n\t},\n\t[ LAYOUT_LIST ]: {\n\t\tprimaryField: 'title',\n\t\tmediaField: 'preview',\n\t},\n};\n\nconst DEFAULT_VIEW = {\n\ttype: LAYOUT_TABLE,\n\tsearch: '',\n\tpage: 1,\n\tperPage: 20,\n\tsort: {\n\t\tfield: 'title',\n\t\tdirection: 'asc',\n\t},\n\t// All fields are visible by default, so it's\n\t// better to keep track of the hidden ones.\n\thiddenFields: [ 'preview' ],\n\tlayout: defaultConfigPerViewType[ LAYOUT_TABLE ],\n\tfilters: [],\n};\n\nfunction normalizeSearchInput( input = '' ) {\n\treturn removeAccents( input.trim().toLowerCase() );\n}\n\nfunction Title( { item, viewType } ) {\n\tif ( viewType === LAYOUT_LIST ) {\n\t\treturn decodeEntities( item.title?.rendered ) || __( '(no title)' );\n\t}\n\tconst linkProps = {\n\t\tparams: {\n\t\t\tpostId: item.id,\n\t\t\tpostType: item.type,\n\t\t\tcanvas: 'edit',\n\t\t},\n\t};\n\tif ( item.type === TEMPLATE_PART_POST_TYPE ) {\n\t\tlinkProps.state = {\n\t\t\tbackPath: '/wp_template_part/all',\n\t\t};\n\t}\n\treturn (\n\t\t<Link { ...linkProps }>\n\t\t\t{ decodeEntities( item.title?.rendered ) || __( '(no title)' ) }\n\t\t</Link>\n\t);\n}\n\nfunction AuthorField( { item, viewType } ) {\n\tconst [ isImageLoaded, setIsImageLoaded ] = useState( false );\n\tconst { text, icon, imageUrl } = useAddedBy( item.type, item.id );\n\tconst withIcon = viewType !== LAYOUT_LIST;\n\n\treturn (\n\t\t<HStack alignment=\"left\" spacing={ 1 }>\n\t\t\t{ withIcon && imageUrl && (\n\t\t\t\t<div\n\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t'page-templates-author-field__avatar',\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t'is-loaded': isImageLoaded,\n\t\t\t\t\t\t}\n\t\t\t\t\t) }\n\t\t\t\t>\n\t\t\t\t\t<img\n\t\t\t\t\t\tonLoad={ () => setIsImageLoaded( true ) }\n\t\t\t\t\t\talt=\"\"\n\t\t\t\t\t\tsrc={ imageUrl }\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t) }\n\t\t\t{ withIcon && ! imageUrl && (\n\t\t\t\t<div className=\"page-templates-author-field__icon\">\n\t\t\t\t\t<Icon icon={ icon } />\n\t\t\t\t</div>\n\t\t\t) }\n\t\t\t<span>{ text }</span>\n\t\t</HStack>\n\t);\n}\n\nfunction Preview( { item, viewType } ) {\n\tconst settings = usePatternSettings();\n\tconst [ backgroundColor = 'white' ] = useGlobalStyle( 'color.background' );\n\tconst blocks = useMemo( () => {\n\t\treturn parse( item.content.raw );\n\t}, [ item.content.raw ] );\n\tconst { onClick } = useLink( {\n\t\tpostId: item.id,\n\t\tpostType: item.type,\n\t\tcanvas: 'edit',\n\t} );\n\n\tconst isEmpty = ! blocks?.length;\n\t// Wrap everything in a block editor provider to ensure 'styles' that are needed\n\t// for the previews are synced between the site editor store and the block editor store.\n\t// Additionally we need to have the `__experimentalBlockPatterns` setting in order to\n\t// render patterns inside the previews.\n\t// TODO: Same approach is used in the patterns list and it becomes obvious that some of\n\t// the block editor settings are needed in context where we don't have the block editor.\n\t// Explore how we can solve this in a better way.\n\treturn (\n\t\t<ExperimentalBlockEditorProvider settings={ settings }>\n\t\t\t<div\n\t\t\t\tclassName={ `page-templates-preview-field is-viewtype-${ viewType }` }\n\t\t\t\tstyle={ { backgroundColor } }\n\t\t\t>\n\t\t\t\t{ viewType === LAYOUT_LIST && ! isEmpty && (\n\t\t\t\t\t<BlockPreview blocks={ blocks } />\n\t\t\t\t) }\n\t\t\t\t{ viewType !== LAYOUT_LIST && (\n\t\t\t\t\t<button\n\t\t\t\t\t\tclassName=\"page-templates-preview-field__button\"\n\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\tonClick={ onClick }\n\t\t\t\t\t\taria-label={ item.title?.rendered || item.title }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ isEmpty &&\n\t\t\t\t\t\t\t( item.type === TEMPLATE_POST_TYPE\n\t\t\t\t\t\t\t\t? __( 'Empty template' )\n\t\t\t\t\t\t\t\t: __( 'Empty template part' ) ) }\n\t\t\t\t\t\t{ ! isEmpty && <BlockPreview blocks={ blocks } /> }\n\t\t\t\t\t</button>\n\t\t\t\t) }\n\t\t\t</div>\n\t\t</ExperimentalBlockEditorProvider>\n\t);\n}\n\nexport default function PageTemplatesTemplateParts( { postType } ) {\n\tconst { params } = useLocation();\n\tconst { activeView = 'all', layout } = params;\n\tconst defaultView = useMemo( () => {\n\t\tconst usedType = window?.__experimentalAdminViews\n\t\t\t? layout ?? DEFAULT_VIEW.type\n\t\t\t: DEFAULT_VIEW.type;\n\t\treturn {\n\t\t\t...DEFAULT_VIEW,\n\t\t\ttype: usedType,\n\t\t\tlayout: defaultConfigPerViewType[ usedType ],\n\t\t\tfilters:\n\t\t\t\tactiveView !== 'all'\n\t\t\t\t\t? [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tfield: 'author',\n\t\t\t\t\t\t\t\toperator: 'in',\n\t\t\t\t\t\t\t\tvalue: activeView,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t ]\n\t\t\t\t\t: [],\n\t\t};\n\t}, [ layout, activeView ] );\n\tconst [ view, setView ] = useState( defaultView );\n\tuseEffect( () => {\n\t\tsetView( ( currentView ) => ( {\n\t\t\t...currentView,\n\t\t\tfilters:\n\t\t\t\tactiveView !== 'all'\n\t\t\t\t\t? [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tfield: 'author',\n\t\t\t\t\t\t\t\toperator: 'in',\n\t\t\t\t\t\t\t\tvalue: activeView,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t ]\n\t\t\t\t\t: [],\n\t\t} ) );\n\t}, [ activeView ] );\n\n\tconst { records, isResolving: isLoadingData } = useEntityRecords(\n\t\t'postType',\n\t\tpostType,\n\t\t{\n\t\t\tper_page: -1,\n\t\t}\n\t);\n\tconst history = useHistory();\n\tconst onSelectionChange = useCallback(\n\t\t( items ) => {\n\t\t\tif ( 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 ]\n\t);\n\n\tconst authors = useMemo( () => {\n\t\tif ( ! records ) {\n\t\t\treturn EMPTY_ARRAY;\n\t\t}\n\t\tconst authorsSet = new Set();\n\t\trecords.forEach( ( template ) => {\n\t\t\tauthorsSet.add( template.author_text );\n\t\t} );\n\t\treturn Array.from( authorsSet ).map( ( author ) => ( {\n\t\t\tvalue: author,\n\t\t\tlabel: author,\n\t\t} ) );\n\t}, [ records ] );\n\n\tconst fields = useMemo( () => {\n\t\tconst _fields = [\n\t\t\t{\n\t\t\t\theader: __( 'Preview' ),\n\t\t\t\tid: 'preview',\n\t\t\t\trender: ( { item } ) => {\n\t\t\t\t\treturn <Preview item={ item } viewType={ view.type } />;\n\t\t\t\t},\n\t\t\t\tminWidth: 120,\n\t\t\t\tmaxWidth: 120,\n\t\t\t\tenableSorting: false,\n\t\t\t},\n\t\t\t{\n\t\t\t\theader:\n\t\t\t\t\tpostType === TEMPLATE_POST_TYPE\n\t\t\t\t\t\t? __( 'Template' )\n\t\t\t\t\t\t: __( 'Template Part' ),\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\t<Title item={ item } viewType={ view.type } />\n\t\t\t\t),\n\t\t\t\tmaxWidth: 400,\n\t\t\t\tenableHiding: false,\n\t\t\t},\n\t\t];\n\t\tif ( postType === TEMPLATE_POST_TYPE ) {\n\t\t\t_fields.push( {\n\t\t\t\theader: __( 'Description' ),\n\t\t\t\tid: 'description',\n\t\t\t\tgetValue: ( { item } ) => item.description,\n\t\t\t\trender: ( { item } ) => {\n\t\t\t\t\treturn item.description ? (\n\t\t\t\t\t\t<span className=\"page-templates-description\">\n\t\t\t\t\t\t\t{ decodeEntities( item.description ) }\n\t\t\t\t\t\t</span>\n\t\t\t\t\t) : (\n\t\t\t\t\t\tview.type === LAYOUT_TABLE && (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t<Text variant=\"muted\" aria-hidden=\"true\">\n\t\t\t\t\t\t\t\t\t&#8212;\n\t\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t\t<VisuallyHidden>\n\t\t\t\t\t\t\t\t\t{ __( 'No description.' ) }\n\t\t\t\t\t\t\t\t</VisuallyHidden>\n\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t)\n\t\t\t\t\t);\n\t\t\t\t},\n\t\t\t\tmaxWidth: 400,\n\t\t\t\tminWidth: 320,\n\t\t\t\tenableSorting: false,\n\t\t\t} );\n\t\t}\n\t\t// TODO: The plan is to support fields reordering, which would require an API like `order` or something\n\t\t// similar. With the aforementioned API we wouldn't need to construct the fields array like this.\n\t\t_fields.push( {\n\t\t\theader: __( 'Author' ),\n\t\t\tid: 'author',\n\t\t\tgetValue: ( { item } ) => item.author_text,\n\t\t\trender: ( { item } ) => {\n\t\t\t\treturn <AuthorField viewType={ view.type } item={ item } />;\n\t\t\t},\n\t\t\ttype: ENUMERATION_TYPE,\n\t\t\telements: authors,\n\t\t\twidth: '1%',\n\t\t} );\n\t\treturn _fields;\n\t}, [ postType, authors, view.type ] );\n\n\tconst { data, paginationInfo } = useMemo( () => {\n\t\tif ( ! records ) {\n\t\t\treturn {\n\t\t\t\tdata: EMPTY_ARRAY,\n\t\t\t\tpaginationInfo: { totalItems: 0, totalPages: 0 },\n\t\t\t};\n\t\t}\n\t\tlet filteredData = [ ...records ];\n\t\t// Handle global search.\n\t\tif ( view.search ) {\n\t\t\tconst normalizedSearch = normalizeSearchInput( view.search );\n\t\t\tfilteredData = filteredData.filter( ( item ) => {\n\t\t\t\tconst title = item.title?.rendered || item.slug;\n\t\t\t\treturn (\n\t\t\t\t\tnormalizeSearchInput( title ).includes(\n\t\t\t\t\t\tnormalizedSearch\n\t\t\t\t\t) ||\n\t\t\t\t\tnormalizeSearchInput( item.description ).includes(\n\t\t\t\t\t\tnormalizedSearch\n\t\t\t\t\t)\n\t\t\t\t);\n\t\t\t} );\n\t\t}\n\n\t\t// Handle filters.\n\t\tif ( view.filters.length > 0 ) {\n\t\t\tview.filters.forEach( ( filter ) => {\n\t\t\t\tif (\n\t\t\t\t\tfilter.field === 'author' &&\n\t\t\t\t\tfilter.operator === OPERATOR_IN &&\n\t\t\t\t\t!! filter.value\n\t\t\t\t) {\n\t\t\t\t\tfilteredData = filteredData.filter( ( item ) => {\n\t\t\t\t\t\treturn item.author_text === filter.value;\n\t\t\t\t\t} );\n\t\t\t\t} else if (\n\t\t\t\t\tfilter.field === 'author' &&\n\t\t\t\t\tfilter.operator === OPERATOR_NOT_IN &&\n\t\t\t\t\t!! filter.value\n\t\t\t\t) {\n\t\t\t\t\tfilteredData = filteredData.filter( ( item ) => {\n\t\t\t\t\t\treturn item.author_text !== filter.value;\n\t\t\t\t\t} );\n\t\t\t\t}\n\t\t\t} );\n\t\t}\n\n\t\t// Handle sorting.\n\t\tif ( view.sort ) {\n\t\t\tfilteredData = sortByTextFields( {\n\t\t\t\tdata: filteredData,\n\t\t\t\tview,\n\t\t\t\tfields,\n\t\t\t\ttextFields: [ 'title', 'author' ],\n\t\t\t} );\n\t\t}\n\t\t// Handle pagination.\n\t\treturn getPaginationResults( {\n\t\t\tdata: filteredData,\n\t\t\tview,\n\t\t} );\n\t}, [ records, view, fields ] );\n\n\tconst resetTemplateAction = useResetTemplateAction();\n\tconst actions = useMemo(\n\t\t() => [\n\t\t\tresetTemplateAction,\n\t\t\tdeleteTemplateAction,\n\t\t\trenameTemplateAction,\n\t\t\tpostRevisionsAction,\n\t\t],\n\t\t[ resetTemplateAction ]\n\t);\n\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...defaultConfigPerViewType[ newView.type ],\n\t\t\t\t\t},\n\t\t\t\t};\n\n\t\t\t\thistory.push( {\n\t\t\t\t\t...params,\n\t\t\t\t\tlayout: newView.type,\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\tsetView( newView );\n\t\t},\n\t\t[ view.type, setView, history, params ]\n\t);\n\n\treturn (\n\t\t<Page\n\t\t\tclassName=\"edit-site-page-template-template-parts-dataviews\"\n\t\t\ttitle={\n\t\t\t\tpostType === TEMPLATE_POST_TYPE\n\t\t\t\t\t? __( 'Templates' )\n\t\t\t\t\t: __( 'Template Parts' )\n\t\t\t}\n\t\t\tactions={\n\t\t\t\tpostType === TEMPLATE_POST_TYPE ? (\n\t\t\t\t\t<AddNewTemplate\n\t\t\t\t\t\ttemplateType={ postType }\n\t\t\t\t\t\tshowIcon={ false }\n\t\t\t\t\t\ttoggleProps={ { variant: 'primary' } }\n\t\t\t\t\t/>\n\t\t\t\t) : (\n\t\t\t\t\t<AddNewTemplatePart />\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={ data }\n\t\t\t\tisLoading={ isLoadingData }\n\t\t\t\tview={ view }\n\t\t\t\tonChangeView={ onChangeView }\n\t\t\t\tonSelectionChange={ onSelectionChange }\n\t\t\t\tdeferredRendering={ ! view.hiddenFields?.includes( 'preview' ) }\n\t\t\t\tsupportedLayouts={ SUPPORTED_LAYOUTS }\n\t\t\t/>\n\t\t</Page>\n\t);\n}\n"],"mappings":";AAAA;AACA;AACA;AACA,OAAOA,UAAU,MAAM,YAAY;AACnC,OAAOC,aAAa,MAAM,gBAAgB;;AAE1C;AACA;AACA;AACA,SACCC,IAAI,EACJC,kBAAkB,IAAIC,IAAI,EAC1BC,oBAAoB,IAAIC,MAAM,EAC9BC,cAAc,QACR,uBAAuB;AAC9B,SAASC,EAAE,QAAQ,iBAAiB;AACpC,SAASC,QAAQ,EAAEC,OAAO,EAAEC,WAAW,EAAEC,SAAS,QAAQ,oBAAoB;AAC9E,SAASC,gBAAgB,QAAQ,sBAAsB;AACvD,SAASC,cAAc,QAAQ,0BAA0B;AACzD,SAASC,KAAK,QAAQ,mBAAmB;AACzC,SACCC,YAAY,EACZC,WAAW,IAAIC,sBAAsB,QAC/B,yBAAyB;AAChC,SACCC,SAAS,EACTC,gBAAgB,EAChBC,oBAAoB,QACd,sBAAsB;AAC7B,SAASJ,WAAW,IAAIK,iBAAiB,QAAQ,mBAAmB;;AAEpE;AACA;AACA;AACA,OAAOC,IAAI,MAAM,SAAS;AAC1B,SAASC,OAAO,IAAIC,IAAI,EAAEC,OAAO,QAAQ,gBAAgB;AACzD,OAAOC,cAAc,MAAM,qBAAqB;AAChD,SAASC,UAAU,QAAQ,SAAS;AACpC,SACCC,kBAAkB,EAClBC,uBAAuB,EACvBC,gBAAgB,EAChBC,WAAW,EACXC,eAAe,EACfC,WAAW,EACXC,YAAY,EACZC,WAAW,QACL,uBAAuB;AAC9B,SACCC,sBAAsB,EACtBC,oBAAoB,EACpBC,oBAAoB,QACd,WAAW;AAClB,SAASC,mBAAmB,QAAQ,YAAY;AAChD,OAAOC,kBAAkB,MAAM,uCAAuC;AACtE,SAASC,MAAM,QAAQ,mBAAmB;AAC1C,OAAOC,kBAAkB,MAAM,yBAAyB;AAExD,MAAM;EAAEC,+BAA+B;EAAEC;AAAe,CAAC,GAAGH,MAAM,CACjExB,sBACD,CAAC;AACD,MAAM;EAAE4B,UAAU;EAAEC;AAAY,CAAC,GAAGL,MAAM,CAAEpB,iBAAkB,CAAC;AAE/D,MAAM0B,WAAW,GAAG,EAAE;AAEtB,MAAMC,iBAAiB,GAAGC,MAAM,EAAEC,wBAAwB,GACvD,CAAEhB,YAAY,EAAED,WAAW,EAAEE,WAAW,CAAE,GAC1C,CAAED,YAAY,EAAED,WAAW,CAAE;AAEhC,MAAMkB,wBAAwB,GAAG;EAChC,CAAEjB,YAAY,GAAI;IACjBkB,YAAY,EAAE;EACf,CAAC;EACD,CAAEnB,WAAW,GAAI;IAChBoB,UAAU,EAAE,SAAS;IACrBD,YAAY,EAAE;EACf,CAAC;EACD,CAAEjB,WAAW,GAAI;IAChBiB,YAAY,EAAE,OAAO;IACrBC,UAAU,EAAE;EACb;AACD,CAAC;AAED,MAAMC,YAAY,GAAG;EACpBC,IAAI,EAAErB,YAAY;EAClBsB,MAAM,EAAE,EAAE;EACVC,IAAI,EAAE,CAAC;EACPC,OAAO,EAAE,EAAE;EACXC,IAAI,EAAE;IACLC,KAAK,EAAE,OAAO;IACdC,SAAS,EAAE;EACZ,CAAC;EACD;EACA;EACAC,YAAY,EAAE,CAAE,SAAS,CAAE;EAC3BC,MAAM,EAAEZ,wBAAwB,CAAEjB,YAAY,CAAE;EAChD8B,OAAO,EAAE;AACV,CAAC;AAED,SAASC,oBAAoBA,CAAEC,KAAK,GAAG,EAAE,EAAG;EAC3C,OAAOlE,aAAa,CAAEkE,KAAK,CAACC,IAAI,CAAC,CAAC,CAACC,WAAW,CAAC,CAAE,CAAC;AACnD;AAEA,SAASC,KAAKA,CAAE;EAAEC,IAAI;EAAEC;AAAS,CAAC,EAAG;EACpC,IAAKA,QAAQ,KAAKpC,WAAW,EAAG;IAC/B,OAAOtB,cAAc,CAAEyD,IAAI,CAACE,KAAK,EAAEC,QAAS,CAAC,IAAIlE,EAAE,CAAE,YAAa,CAAC;EACpE;EACA,MAAMmE,SAAS,GAAG;IACjBC,MAAM,EAAE;MACPC,MAAM,EAAEN,IAAI,CAACO,EAAE;MACfC,QAAQ,EAAER,IAAI,CAACf,IAAI;MACnBwB,MAAM,EAAE;IACT;EACD,CAAC;EACD,IAAKT,IAAI,CAACf,IAAI,KAAK1B,uBAAuB,EAAG;IAC5C6C,SAAS,CAACM,KAAK,GAAG;MACjBC,QAAQ,EAAE;IACX,CAAC;EACF;EACA,OACCC,aAAA,CAAC1D,IAAI;IAAA,GAAMkD;EAAS,GACjB7D,cAAc,CAAEyD,IAAI,CAACE,KAAK,EAAEC,QAAS,CAAC,IAAIlE,EAAE,CAAE,YAAa,CACxD,CAAC;AAET;AAEA,SAAS4E,WAAWA,CAAE;EAAEb,IAAI;EAAEC;AAAS,CAAC,EAAG;EAC1C,MAAM,CAAEa,aAAa,EAAEC,gBAAgB,CAAE,GAAG7E,QAAQ,CAAE,KAAM,CAAC;EAC7D,MAAM;IAAE8E,IAAI;IAAEC,IAAI;IAAEC;EAAS,CAAC,GAAG7D,UAAU,CAAE2C,IAAI,CAACf,IAAI,EAAEe,IAAI,CAACO,EAAG,CAAC;EACjE,MAAMY,QAAQ,GAAGlB,QAAQ,KAAKpC,WAAW;EAEzC,OACC+C,aAAA,CAAC7E,MAAM;IAACqF,SAAS,EAAC,MAAM;IAACC,OAAO,EAAG;EAAG,GACnCF,QAAQ,IAAID,QAAQ,IACrBN,aAAA;IACCU,SAAS,EAAG7F,UAAU,CACrB,qCAAqC,EACrC;MACC,WAAW,EAAEqF;IACd,CACD;EAAG,GAEHF,aAAA;IACCW,MAAM,EAAGA,CAAA,KAAMR,gBAAgB,CAAE,IAAK,CAAG;IACzCS,GAAG,EAAC,EAAE;IACNC,GAAG,EAAGP;EAAU,CAChB,CACG,CACL,EACCC,QAAQ,IAAI,CAAED,QAAQ,IACvBN,aAAA;IAAKU,SAAS,EAAC;EAAmC,GACjDV,aAAA,CAACjF,IAAI;IAACsF,IAAI,EAAGA;EAAM,CAAE,CACjB,CACL,EACDL,aAAA,eAAQI,IAAY,CACb,CAAC;AAEX;AAEA,SAASU,OAAOA,CAAE;EAAE1B,IAAI;EAAEC;AAAS,CAAC,EAAG;EACtC,MAAM0B,QAAQ,GAAGzD,kBAAkB,CAAC,CAAC;EACrC,MAAM,CAAE0D,eAAe,GAAG,OAAO,CAAE,GAAGtD,cAAc,CAAE,kBAAmB,CAAC;EAC1E,MAAMuD,MAAM,GAAG1F,OAAO,CAAE,MAAM;IAC7B,OAAOK,KAAK,CAAEwD,IAAI,CAAC8B,OAAO,CAACC,GAAI,CAAC;EACjC,CAAC,EAAE,CAAE/B,IAAI,CAAC8B,OAAO,CAACC,GAAG,CAAG,CAAC;EACzB,MAAM;IAAEC;EAAQ,CAAC,GAAG7E,OAAO,CAAE;IAC5BmD,MAAM,EAAEN,IAAI,CAACO,EAAE;IACfC,QAAQ,EAAER,IAAI,CAACf,IAAI;IACnBwB,MAAM,EAAE;EACT,CAAE,CAAC;EAEH,MAAMwB,OAAO,GAAG,CAAEJ,MAAM,EAAEK,MAAM;EAChC;EACA;EACA;EACA;EACA;EACA;EACA;EACA,OACCtB,aAAA,CAACvC,+BAA+B;IAACsD,QAAQ,EAAGA;EAAU,GACrDf,aAAA;IACCU,SAAS,EAAI,4CAA4CrB,QAAU,EAAG;IACtEkC,KAAK,EAAG;MAAEP;IAAgB;EAAG,GAE3B3B,QAAQ,KAAKpC,WAAW,IAAI,CAAEoE,OAAO,IACtCrB,aAAA,CAACnE,YAAY;IAACoF,MAAM,EAAGA;EAAQ,CAAE,CACjC,EACC5B,QAAQ,KAAKpC,WAAW,IACzB+C,aAAA;IACCU,SAAS,EAAC,sCAAsC;IAChDrC,IAAI,EAAC,QAAQ;IACb+C,OAAO,EAAGA,OAAS;IACnB,cAAahC,IAAI,CAACE,KAAK,EAAEC,QAAQ,IAAIH,IAAI,CAACE;EAAO,GAE/C+B,OAAO,KACNjC,IAAI,CAACf,IAAI,KAAK3B,kBAAkB,GAC/BrB,EAAE,CAAE,gBAAiB,CAAC,GACtBA,EAAE,CAAE,qBAAsB,CAAC,CAAE,EAC/B,CAAEgG,OAAO,IAAIrB,aAAA,CAACnE,YAAY;IAACoF,MAAM,EAAGA;EAAQ,CAAE,CACzC,CAEL,CAC2B,CAAC;AAEpC;AAEA,eAAe,SAASO,0BAA0BA,CAAE;EAAE5B;AAAS,CAAC,EAAG;EAClE,MAAM;IAAEH;EAAO,CAAC,GAAG7B,WAAW,CAAC,CAAC;EAChC,MAAM;IAAE6D,UAAU,GAAG,KAAK;IAAE5C;EAAO,CAAC,GAAGY,MAAM;EAC7C,MAAMiC,WAAW,GAAGnG,OAAO,CAAE,MAAM;IAClC,MAAMoG,QAAQ,GAAG5D,MAAM,EAAEC,wBAAwB,GAC9Ca,MAAM,aAANA,MAAM,cAANA,MAAM,GAAIT,YAAY,CAACC,IAAI,GAC3BD,YAAY,CAACC,IAAI;IACpB,OAAO;MACN,GAAGD,YAAY;MACfC,IAAI,EAAEsD,QAAQ;MACd9C,MAAM,EAAEZ,wBAAwB,CAAE0D,QAAQ,CAAE;MAC5C7C,OAAO,EACN2C,UAAU,KAAK,KAAK,GACjB,CACA;QACC/C,KAAK,EAAE,QAAQ;QACfkD,QAAQ,EAAE,IAAI;QACdC,KAAK,EAAEJ;MACR,CAAC,CACA,GACD;IACL,CAAC;EACF,CAAC,EAAE,CAAE5C,MAAM,EAAE4C,UAAU,CAAG,CAAC;EAC3B,MAAM,CAAEK,IAAI,EAAEC,OAAO,CAAE,GAAGzG,QAAQ,CAAEoG,WAAY,CAAC;EACjDjG,SAAS,CAAE,MAAM;IAChBsG,OAAO,CAAIC,WAAW,KAAQ;MAC7B,GAAGA,WAAW;MACdlD,OAAO,EACN2C,UAAU,KAAK,KAAK,GACjB,CACA;QACC/C,KAAK,EAAE,QAAQ;QACfkD,QAAQ,EAAE,IAAI;QACdC,KAAK,EAAEJ;MACR,CAAC,CACA,GACD;IACL,CAAC,CAAG,CAAC;EACN,CAAC,EAAE,CAAEA,UAAU,CAAG,CAAC;EAEnB,MAAM;IAAEQ,OAAO;IAAEC,WAAW,EAAEC;EAAc,CAAC,GAAGzG,gBAAgB,CAC/D,UAAU,EACVkE,QAAQ,EACR;IACCwC,QAAQ,EAAE,CAAC;EACZ,CACD,CAAC;EACD,MAAMC,OAAO,GAAG1E,UAAU,CAAC,CAAC;EAC5B,MAAM2E,iBAAiB,GAAG9G,WAAW,CAClC+G,KAAK,IAAM;IACZ,IAAKT,IAAI,EAAEzD,IAAI,KAAKpB,WAAW,EAAG;MACjCoF,OAAO,CAACG,IAAI,CAAE;QACb,GAAG/C,MAAM;QACTC,MAAM,EAAE6C,KAAK,CAACjB,MAAM,KAAK,CAAC,GAAGiB,KAAK,CAAE,CAAC,CAAE,CAAC5C,EAAE,GAAG8C;MAC9C,CAAE,CAAC;IACJ;EACD,CAAC,EACD,CAAEJ,OAAO,EAAE5C,MAAM,EAAEqC,IAAI,EAAEzD,IAAI,CAC9B,CAAC;EAED,MAAMqE,OAAO,GAAGnH,OAAO,CAAE,MAAM;IAC9B,IAAK,CAAE0G,OAAO,EAAG;MAChB,OAAOpE,WAAW;IACnB;IACA,MAAM8E,UAAU,GAAG,IAAIC,GAAG,CAAC,CAAC;IAC5BX,OAAO,CAACY,OAAO,CAAIC,QAAQ,IAAM;MAChCH,UAAU,CAACI,GAAG,CAAED,QAAQ,CAACE,WAAY,CAAC;IACvC,CAAE,CAAC;IACH,OAAOC,KAAK,CAACC,IAAI,CAAEP,UAAW,CAAC,CAACQ,GAAG,CAAIC,MAAM,KAAQ;MACpDvB,KAAK,EAAEuB,MAAM;MACbC,KAAK,EAAED;IACR,CAAC,CAAG,CAAC;EACN,CAAC,EAAE,CAAEnB,OAAO,CAAG,CAAC;EAEhB,MAAMqB,MAAM,GAAG/H,OAAO,CAAE,MAAM;IAC7B,MAAMgI,OAAO,GAAG,CACf;MACCC,MAAM,EAAEnI,EAAE,CAAE,SAAU,CAAC;MACvBsE,EAAE,EAAE,SAAS;MACb8D,MAAM,EAAEA,CAAE;QAAErE;MAAK,CAAC,KAAM;QACvB,OAAOY,aAAA,CAACc,OAAO;UAAC1B,IAAI,EAAGA,IAAM;UAACC,QAAQ,EAAGyC,IAAI,CAACzD;QAAM,CAAE,CAAC;MACxD,CAAC;MACDqF,QAAQ,EAAE,GAAG;MACbC,QAAQ,EAAE,GAAG;MACbC,aAAa,EAAE;IAChB,CAAC,EACD;MACCJ,MAAM,EACL5D,QAAQ,KAAKlD,kBAAkB,GAC5BrB,EAAE,CAAE,UAAW,CAAC,GAChBA,EAAE,CAAE,eAAgB,CAAC;MACzBsE,EAAE,EAAE,OAAO;MACXkE,QAAQ,EAAEA,CAAE;QAAEzE;MAAK,CAAC,KAAMA,IAAI,CAACE,KAAK,EAAEC,QAAQ;MAC9CkE,MAAM,EAAEA,CAAE;QAAErE;MAAK,CAAC,KACjBY,aAAA,CAACb,KAAK;QAACC,IAAI,EAAGA,IAAM;QAACC,QAAQ,EAAGyC,IAAI,CAACzD;MAAM,CAAE,CAC7C;MACDsF,QAAQ,EAAE,GAAG;MACbG,YAAY,EAAE;IACf,CAAC,CACD;IACD,IAAKlE,QAAQ,KAAKlD,kBAAkB,EAAG;MACtC6G,OAAO,CAACf,IAAI,CAAE;QACbgB,MAAM,EAAEnI,EAAE,CAAE,aAAc,CAAC;QAC3BsE,EAAE,EAAE,aAAa;QACjBkE,QAAQ,EAAEA,CAAE;UAAEzE;QAAK,CAAC,KAAMA,IAAI,CAAC2E,WAAW;QAC1CN,MAAM,EAAEA,CAAE;UAAErE;QAAK,CAAC,KAAM;UACvB,OAAOA,IAAI,CAAC2E,WAAW,GACtB/D,aAAA;YAAMU,SAAS,EAAC;UAA4B,GACzC/E,cAAc,CAAEyD,IAAI,CAAC2E,WAAY,CAC9B,CAAC,GAEPjC,IAAI,CAACzD,IAAI,KAAKrB,YAAY,IACzBgD,aAAA,CAAAgE,QAAA,QACChE,aAAA,CAAC/E,IAAI;YAACgJ,OAAO,EAAC,OAAO;YAAC,eAAY;UAAM,GAAC,QAEnC,CAAC,EACPjE,aAAA,CAAC5E,cAAc,QACZC,EAAE,CAAE,iBAAkB,CACT,CACf,CAEH;QACF,CAAC;QACDsI,QAAQ,EAAE,GAAG;QACbD,QAAQ,EAAE,GAAG;QACbE,aAAa,EAAE;MAChB,CAAE,CAAC;IACJ;IACA;IACA;IACAL,OAAO,CAACf,IAAI,CAAE;MACbgB,MAAM,EAAEnI,EAAE,CAAE,QAAS,CAAC;MACtBsE,EAAE,EAAE,QAAQ;MACZkE,QAAQ,EAAEA,CAAE;QAAEzE;MAAK,CAAC,KAAMA,IAAI,CAAC4D,WAAW;MAC1CS,MAAM,EAAEA,CAAE;QAAErE;MAAK,CAAC,KAAM;QACvB,OAAOY,aAAA,CAACC,WAAW;UAACZ,QAAQ,EAAGyC,IAAI,CAACzD,IAAM;UAACe,IAAI,EAAGA;QAAM,CAAE,CAAC;MAC5D,CAAC;MACDf,IAAI,EAAEzB,gBAAgB;MACtBsH,QAAQ,EAAExB,OAAO;MACjByB,KAAK,EAAE;IACR,CAAE,CAAC;IACH,OAAOZ,OAAO;EACf,CAAC,EAAE,CAAE3D,QAAQ,EAAE8C,OAAO,EAAEZ,IAAI,CAACzD,IAAI,CAAG,CAAC;EAErC,MAAM;IAAE+F,IAAI;IAAEC;EAAe,CAAC,GAAG9I,OAAO,CAAE,MAAM;IAC/C,IAAK,CAAE0G,OAAO,EAAG;MAChB,OAAO;QACNmC,IAAI,EAAEvG,WAAW;QACjBwG,cAAc,EAAE;UAAEC,UAAU,EAAE,CAAC;UAAEC,UAAU,EAAE;QAAE;MAChD,CAAC;IACF;IACA,IAAIC,YAAY,GAAG,CAAE,GAAGvC,OAAO,CAAE;IACjC;IACA,IAAKH,IAAI,CAACxD,MAAM,EAAG;MAClB,MAAMmG,gBAAgB,GAAG1F,oBAAoB,CAAE+C,IAAI,CAACxD,MAAO,CAAC;MAC5DkG,YAAY,GAAGA,YAAY,CAACE,MAAM,CAAItF,IAAI,IAAM;QAC/C,MAAME,KAAK,GAAGF,IAAI,CAACE,KAAK,EAAEC,QAAQ,IAAIH,IAAI,CAACuF,IAAI;QAC/C,OACC5F,oBAAoB,CAAEO,KAAM,CAAC,CAACsF,QAAQ,CACrCH,gBACD,CAAC,IACD1F,oBAAoB,CAAEK,IAAI,CAAC2E,WAAY,CAAC,CAACa,QAAQ,CAChDH,gBACD,CAAC;MAEH,CAAE,CAAC;IACJ;;IAEA;IACA,IAAK3C,IAAI,CAAChD,OAAO,CAACwC,MAAM,GAAG,CAAC,EAAG;MAC9BQ,IAAI,CAAChD,OAAO,CAAC+D,OAAO,CAAI6B,MAAM,IAAM;QACnC,IACCA,MAAM,CAAChG,KAAK,KAAK,QAAQ,IACzBgG,MAAM,CAAC9C,QAAQ,KAAK/E,WAAW,IAC/B,CAAC,CAAE6H,MAAM,CAAC7C,KAAK,EACd;UACD2C,YAAY,GAAGA,YAAY,CAACE,MAAM,CAAItF,IAAI,IAAM;YAC/C,OAAOA,IAAI,CAAC4D,WAAW,KAAK0B,MAAM,CAAC7C,KAAK;UACzC,CAAE,CAAC;QACJ,CAAC,MAAM,IACN6C,MAAM,CAAChG,KAAK,KAAK,QAAQ,IACzBgG,MAAM,CAAC9C,QAAQ,KAAK9E,eAAe,IACnC,CAAC,CAAE4H,MAAM,CAAC7C,KAAK,EACd;UACD2C,YAAY,GAAGA,YAAY,CAACE,MAAM,CAAItF,IAAI,IAAM;YAC/C,OAAOA,IAAI,CAAC4D,WAAW,KAAK0B,MAAM,CAAC7C,KAAK;UACzC,CAAE,CAAC;QACJ;MACD,CAAE,CAAC;IACJ;;IAEA;IACA,IAAKC,IAAI,CAACrD,IAAI,EAAG;MAChB+F,YAAY,GAAGvI,gBAAgB,CAAE;QAChCmI,IAAI,EAAEI,YAAY;QAClB1C,IAAI;QACJwB,MAAM;QACNuB,UAAU,EAAE,CAAE,OAAO,EAAE,QAAQ;MAChC,CAAE,CAAC;IACJ;IACA;IACA,OAAO3I,oBAAoB,CAAE;MAC5BkI,IAAI,EAAEI,YAAY;MAClB1C;IACD,CAAE,CAAC;EACJ,CAAC,EAAE,CAAEG,OAAO,EAAEH,IAAI,EAAEwB,MAAM,CAAG,CAAC;EAE9B,MAAMwB,mBAAmB,GAAG5H,sBAAsB,CAAC,CAAC;EACpD,MAAM6H,OAAO,GAAGxJ,OAAO,CACtB,MAAM,CACLuJ,mBAAmB,EACnB3H,oBAAoB,EACpBC,oBAAoB,EACpBC,mBAAmB,CACnB,EACD,CAAEyH,mBAAmB,CACtB,CAAC;EAED,MAAME,YAAY,GAAGxJ,WAAW,CAC7ByJ,OAAO,IAAM;IACd,IAAKA,OAAO,CAAC5G,IAAI,KAAKyD,IAAI,CAACzD,IAAI,EAAG;MACjC4G,OAAO,GAAG;QACT,GAAGA,OAAO;QACVpG,MAAM,EAAE;UACP,GAAGZ,wBAAwB,CAAEgH,OAAO,CAAC5G,IAAI;QAC1C;MACD,CAAC;MAEDgE,OAAO,CAACG,IAAI,CAAE;QACb,GAAG/C,MAAM;QACTZ,MAAM,EAAEoG,OAAO,CAAC5G;MACjB,CAAE,CAAC;IACJ;IAEA0D,OAAO,CAAEkD,OAAQ,CAAC;EACnB,CAAC,EACD,CAAEnD,IAAI,CAACzD,IAAI,EAAE0D,OAAO,EAAEM,OAAO,EAAE5C,MAAM,CACtC,CAAC;EAED,OACCO,aAAA,CAAC5D,IAAI;IACJsE,SAAS,EAAC,kDAAkD;IAC5DpB,KAAK,EACJM,QAAQ,KAAKlD,kBAAkB,GAC5BrB,EAAE,CAAE,WAAY,CAAC,GACjBA,EAAE,CAAE,gBAAiB,CACxB;IACD0J,OAAO,EACNnF,QAAQ,KAAKlD,kBAAkB,GAC9BsD,aAAA,CAACxD,cAAc;MACd0I,YAAY,EAAGtF,QAAU;MACzBuF,QAAQ,EAAG,KAAO;MAClBC,WAAW,EAAG;QAAEnB,OAAO,EAAE;MAAU;IAAG,CACtC,CAAC,GAEFjE,aAAA,CAACxC,kBAAkB,MAAE;EAEtB,GAEDwC,aAAA,CAAChE,SAAS;IACTqI,cAAc,EAAGA,cAAgB;IACjCf,MAAM,EAAGA,MAAQ;IACjByB,OAAO,EAAGA,OAAS;IACnBX,IAAI,EAAGA,IAAM;IACbiB,SAAS,EAAGlD,aAAe;IAC3BL,IAAI,EAAGA,IAAM;IACbkD,YAAY,EAAGA,YAAc;IAC7B1C,iBAAiB,EAAGA,iBAAmB;IACvCgD,iBAAiB,EAAG,CAAExD,IAAI,CAAClD,YAAY,EAAEgG,QAAQ,CAAE,SAAU,CAAG;IAChEW,gBAAgB,EAAGzH;EAAmB,CACtC,CACI,CAAC;AAET"}