@wordpress/edit-site 6.3.0 → 6.4.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 (221) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/build/components/add-new-pattern/index.js +8 -2
  3. package/build/components/add-new-pattern/index.js.map +1 -1
  4. package/build/components/add-new-template/index.js +3 -1
  5. package/build/components/add-new-template/index.js.map +1 -1
  6. package/build/components/block-editor/use-site-editor-settings.js +1 -82
  7. package/build/components/block-editor/use-site-editor-settings.js.map +1 -1
  8. package/build/components/global-styles/block-preview-panel.js +14 -5
  9. package/build/components/global-styles/block-preview-panel.js.map +1 -1
  10. package/build/components/global-styles/font-families.js +42 -23
  11. package/build/components/global-styles/font-families.js.map +1 -1
  12. package/build/components/global-styles/font-library-modal/index.js +4 -4
  13. package/build/components/global-styles/font-library-modal/index.js.map +1 -1
  14. package/build/components/global-styles/font-library-modal/installed-fonts.js +58 -10
  15. package/build/components/global-styles/font-library-modal/installed-fonts.js.map +1 -1
  16. package/build/components/global-styles/font-sizes/confirm-delete-font-size-dialog.js +39 -0
  17. package/build/components/global-styles/font-sizes/confirm-delete-font-size-dialog.js.map +1 -0
  18. package/build/components/global-styles/font-sizes/confirm-reset-font-sizes-dialog.js +39 -0
  19. package/build/components/global-styles/font-sizes/confirm-reset-font-sizes-dialog.js.map +1 -0
  20. package/build/components/global-styles/font-sizes/font-size-preview.js +44 -0
  21. package/build/components/global-styles/font-sizes/font-size-preview.js.map +1 -0
  22. package/build/components/global-styles/font-sizes/font-size.js +213 -0
  23. package/build/components/global-styles/font-sizes/font-size.js.map +1 -0
  24. package/build/components/global-styles/font-sizes/font-sizes-count.js +50 -0
  25. package/build/components/global-styles/font-sizes/font-sizes-count.js.map +1 -0
  26. package/build/components/global-styles/font-sizes/font-sizes.js +163 -0
  27. package/build/components/global-styles/font-sizes/font-sizes.js.map +1 -0
  28. package/build/components/global-styles/font-sizes/rename-font-size-dialog.js +67 -0
  29. package/build/components/global-styles/font-sizes/rename-font-size-dialog.js.map +1 -0
  30. package/build/components/global-styles/screen-block.js +10 -8
  31. package/build/components/global-styles/screen-block.js.map +1 -1
  32. package/build/components/global-styles/screen-style-variations.js +2 -2
  33. package/build/components/global-styles/screen-style-variations.js.map +1 -1
  34. package/build/components/global-styles/screen-typography.js +3 -2
  35. package/build/components/global-styles/screen-typography.js.map +1 -1
  36. package/build/components/global-styles/size-control/index.js +85 -0
  37. package/build/components/global-styles/size-control/index.js.map +1 -0
  38. package/build/components/global-styles/style-variations-container.js +3 -0
  39. package/build/components/global-styles/style-variations-container.js.map +1 -1
  40. package/build/components/global-styles/ui.js +8 -0
  41. package/build/components/global-styles/ui.js.map +1 -1
  42. package/build/components/global-styles/variations/variations-color.js.map +1 -1
  43. package/build/components/global-styles/variations/variations-typography.js +1 -1
  44. package/build/components/global-styles/variations/variations-typography.js.map +1 -1
  45. package/build/components/layout/index.js +6 -0
  46. package/build/components/layout/index.js.map +1 -1
  47. package/build/components/layout/router.js +14 -6
  48. package/build/components/layout/router.js.map +1 -1
  49. package/build/components/page-patterns/header.js +1 -1
  50. package/build/components/page-patterns/header.js.map +1 -1
  51. package/build/components/page-patterns/index.js +23 -11
  52. package/build/components/page-patterns/index.js.map +1 -1
  53. package/build/components/page-templates/index.js +41 -34
  54. package/build/components/page-templates/index.js.map +1 -1
  55. package/build/components/post-edit/index.js +105 -0
  56. package/build/components/post-edit/index.js.map +1 -0
  57. package/build/components/post-fields/index.js +314 -0
  58. package/build/components/post-fields/index.js.map +1 -0
  59. package/build/components/post-list/index.js +281 -0
  60. package/build/components/post-list/index.js.map +1 -0
  61. package/build/components/posts-app/router.js +3 -3
  62. package/build/components/posts-app/router.js.map +1 -1
  63. package/build/components/sidebar-dataviews/default-views.js +22 -10
  64. package/build/components/sidebar-dataviews/default-views.js.map +1 -1
  65. package/build/components/sidebar-dataviews/index.js +40 -1
  66. package/build/components/sidebar-dataviews/index.js.map +1 -1
  67. package/build/components/sidebar-navigation-screen-global-styles/content.js +64 -0
  68. package/build/components/sidebar-navigation-screen-global-styles/content.js.map +1 -0
  69. package/build/components/sidebar-navigation-screen-global-styles/index.js +2 -47
  70. package/build/components/sidebar-navigation-screen-global-styles/index.js.map +1 -1
  71. package/build/hooks/push-changes-to-global-styles/index.js +1 -1
  72. package/build/hooks/push-changes-to-global-styles/index.js.map +1 -1
  73. package/build/index.js +5 -1
  74. package/build/index.js.map +1 -1
  75. package/build/store/selectors.js +34 -6
  76. package/build/store/selectors.js.map +1 -1
  77. package/build/utils/get-filtered-template-parts.js +64 -0
  78. package/build/utils/get-filtered-template-parts.js.map +1 -0
  79. package/build-module/components/add-new-pattern/index.js +8 -2
  80. package/build-module/components/add-new-pattern/index.js.map +1 -1
  81. package/build-module/components/add-new-template/index.js +3 -1
  82. package/build-module/components/add-new-template/index.js.map +1 -1
  83. package/build-module/components/block-editor/use-site-editor-settings.js +1 -82
  84. package/build-module/components/block-editor/use-site-editor-settings.js.map +1 -1
  85. package/build-module/components/global-styles/block-preview-panel.js +14 -5
  86. package/build-module/components/global-styles/block-preview-panel.js.map +1 -1
  87. package/build-module/components/global-styles/font-families.js +44 -25
  88. package/build-module/components/global-styles/font-families.js.map +1 -1
  89. package/build-module/components/global-styles/font-library-modal/index.js +4 -4
  90. package/build-module/components/global-styles/font-library-modal/index.js.map +1 -1
  91. package/build-module/components/global-styles/font-library-modal/installed-fonts.js +61 -13
  92. package/build-module/components/global-styles/font-library-modal/installed-fonts.js.map +1 -1
  93. package/build-module/components/global-styles/font-sizes/confirm-delete-font-size-dialog.js +32 -0
  94. package/build-module/components/global-styles/font-sizes/confirm-delete-font-size-dialog.js.map +1 -0
  95. package/build-module/components/global-styles/font-sizes/confirm-reset-font-sizes-dialog.js +32 -0
  96. package/build-module/components/global-styles/font-sizes/confirm-reset-font-sizes-dialog.js.map +1 -0
  97. package/build-module/components/global-styles/font-sizes/font-size-preview.js +37 -0
  98. package/build-module/components/global-styles/font-sizes/font-size-preview.js.map +1 -0
  99. package/build-module/components/global-styles/font-sizes/font-size.js +207 -0
  100. package/build-module/components/global-styles/font-sizes/font-size.js.map +1 -0
  101. package/build-module/components/global-styles/font-sizes/font-sizes-count.js +43 -0
  102. package/build-module/components/global-styles/font-sizes/font-sizes-count.js.map +1 -0
  103. package/build-module/components/global-styles/font-sizes/font-sizes.js +157 -0
  104. package/build-module/components/global-styles/font-sizes/font-sizes.js.map +1 -0
  105. package/build-module/components/global-styles/font-sizes/rename-font-size-dialog.js +61 -0
  106. package/build-module/components/global-styles/font-sizes/rename-font-size-dialog.js.map +1 -0
  107. package/build-module/components/global-styles/screen-block.js +10 -8
  108. package/build-module/components/global-styles/screen-block.js.map +1 -1
  109. package/build-module/components/global-styles/screen-style-variations.js +2 -2
  110. package/build-module/components/global-styles/screen-style-variations.js.map +1 -1
  111. package/build-module/components/global-styles/screen-typography.js +3 -2
  112. package/build-module/components/global-styles/screen-typography.js.map +1 -1
  113. package/build-module/components/global-styles/size-control/index.js +79 -0
  114. package/build-module/components/global-styles/size-control/index.js.map +1 -0
  115. package/build-module/components/global-styles/style-variations-container.js +3 -0
  116. package/build-module/components/global-styles/style-variations-container.js.map +1 -1
  117. package/build-module/components/global-styles/ui.js +8 -0
  118. package/build-module/components/global-styles/ui.js.map +1 -1
  119. package/build-module/components/global-styles/variations/variations-color.js +1 -1
  120. package/build-module/components/global-styles/variations/variations-color.js.map +1 -1
  121. package/build-module/components/global-styles/variations/variations-typography.js +1 -2
  122. package/build-module/components/global-styles/variations/variations-typography.js.map +1 -1
  123. package/build-module/components/layout/index.js +6 -0
  124. package/build-module/components/layout/index.js.map +1 -1
  125. package/build-module/components/layout/router.js +14 -6
  126. package/build-module/components/layout/router.js.map +1 -1
  127. package/build-module/components/page-patterns/header.js +1 -1
  128. package/build-module/components/page-patterns/header.js.map +1 -1
  129. package/build-module/components/page-patterns/index.js +23 -11
  130. package/build-module/components/page-patterns/index.js.map +1 -1
  131. package/build-module/components/page-templates/index.js +43 -37
  132. package/build-module/components/page-templates/index.js.map +1 -1
  133. package/build-module/components/post-edit/index.js +98 -0
  134. package/build-module/components/post-edit/index.js.map +1 -0
  135. package/build-module/components/post-fields/index.js +306 -0
  136. package/build-module/components/post-fields/index.js.map +1 -0
  137. package/build-module/components/post-list/index.js +275 -0
  138. package/build-module/components/post-list/index.js.map +1 -0
  139. package/build-module/components/posts-app/router.js +3 -3
  140. package/build-module/components/posts-app/router.js.map +1 -1
  141. package/build-module/components/sidebar-dataviews/default-views.js +21 -9
  142. package/build-module/components/sidebar-dataviews/default-views.js.map +1 -1
  143. package/build-module/components/sidebar-dataviews/index.js +42 -3
  144. package/build-module/components/sidebar-dataviews/index.js.map +1 -1
  145. package/build-module/components/sidebar-navigation-screen-global-styles/content.js +57 -0
  146. package/build-module/components/sidebar-navigation-screen-global-styles/content.js.map +1 -0
  147. package/build-module/components/sidebar-navigation-screen-global-styles/index.js +2 -47
  148. package/build-module/components/sidebar-navigation-screen-global-styles/index.js.map +1 -1
  149. package/build-module/hooks/push-changes-to-global-styles/index.js +1 -1
  150. package/build-module/hooks/push-changes-to-global-styles/index.js.map +1 -1
  151. package/build-module/index.js +5 -1
  152. package/build-module/index.js.map +1 -1
  153. package/build-module/store/selectors.js +35 -7
  154. package/build-module/store/selectors.js.map +1 -1
  155. package/build-module/utils/get-filtered-template-parts.js +57 -0
  156. package/build-module/utils/get-filtered-template-parts.js.map +1 -0
  157. package/build-style/posts-rtl.css +581 -503
  158. package/build-style/posts.css +581 -503
  159. package/build-style/style-rtl.css +621 -519
  160. package/build-style/style.css +621 -519
  161. package/package.json +41 -41
  162. package/src/components/add-new-pattern/index.js +8 -2
  163. package/src/components/add-new-template/index.js +4 -1
  164. package/src/components/add-new-template/style.scss +4 -6
  165. package/src/components/block-editor/use-site-editor-settings.js +15 -111
  166. package/src/components/global-styles/block-preview-panel.js +22 -9
  167. package/src/components/global-styles/font-families.js +66 -31
  168. package/src/components/global-styles/font-library-modal/index.js +4 -2
  169. package/src/components/global-styles/font-library-modal/installed-fonts.js +92 -11
  170. package/src/components/global-styles/font-library-modal/style.scss +9 -0
  171. package/src/components/global-styles/font-sizes/confirm-delete-font-size-dialog.js +43 -0
  172. package/src/components/global-styles/font-sizes/confirm-reset-font-sizes-dialog.js +37 -0
  173. package/src/components/global-styles/font-sizes/font-size-preview.js +43 -0
  174. package/src/components/global-styles/font-sizes/font-size.js +250 -0
  175. package/src/components/global-styles/font-sizes/font-sizes-count.js +40 -0
  176. package/src/components/global-styles/font-sizes/font-sizes.js +263 -0
  177. package/src/components/global-styles/font-sizes/rename-font-size-dialog.js +70 -0
  178. package/src/components/global-styles/screen-block.js +12 -14
  179. package/src/components/global-styles/screen-style-variations.js +2 -2
  180. package/src/components/global-styles/screen-typography.js +3 -2
  181. package/src/components/global-styles/size-control/index.js +86 -0
  182. package/src/components/global-styles/style-variations-container.js +4 -0
  183. package/src/components/global-styles/style.scss +13 -3
  184. package/src/components/global-styles/ui.js +10 -0
  185. package/src/components/global-styles/variations/variations-color.js +1 -1
  186. package/src/components/global-styles/variations/variations-typography.js +1 -2
  187. package/src/components/layout/index.js +11 -0
  188. package/src/components/layout/router.js +13 -5
  189. package/src/components/layout/style.scss +26 -8
  190. package/src/components/page-patterns/header.js +1 -1
  191. package/src/components/page-patterns/index.js +15 -8
  192. package/src/components/page-templates/index.js +51 -46
  193. package/src/components/page-templates/style.scss +5 -3
  194. package/src/components/post-edit/index.js +96 -0
  195. package/src/components/post-edit/style.scss +9 -0
  196. package/src/components/post-fields/index.js +345 -0
  197. package/src/components/post-list/index.js +326 -0
  198. package/src/components/{posts-app → post-list}/style.scss +12 -9
  199. package/src/components/posts-app/router.js +3 -3
  200. package/src/components/sidebar-dataviews/default-views.js +21 -9
  201. package/src/components/sidebar-dataviews/index.js +36 -1
  202. package/src/components/sidebar-navigation-screen-global-styles/content.js +55 -0
  203. package/src/components/sidebar-navigation-screen-global-styles/index.js +1 -55
  204. package/src/hooks/push-changes-to-global-styles/index.js +1 -1
  205. package/src/index.js +7 -1
  206. package/src/posts.scss +1 -1
  207. package/src/store/selectors.js +53 -14
  208. package/src/store/test/selectors.js +1 -26
  209. package/src/style.scss +2 -1
  210. package/src/utils/get-filtered-template-parts.js +61 -0
  211. package/src/utils/test/get-filtered-template-parts.js +127 -0
  212. package/build/components/global-styles/screen-background.js +0 -36
  213. package/build/components/global-styles/screen-background.js.map +0 -1
  214. package/build/components/posts-app/posts-list.js +0 -568
  215. package/build/components/posts-app/posts-list.js.map +0 -1
  216. package/build-module/components/global-styles/screen-background.js +0 -30
  217. package/build-module/components/global-styles/screen-background.js.map +0 -1
  218. package/build-module/components/posts-app/posts-list.js +0 -560
  219. package/build-module/components/posts-app/posts-list.js.map +0 -1
  220. package/src/components/global-styles/screen-background.js +0 -29
  221. package/src/components/posts-app/posts-list.js +0 -651
@@ -1 +1 @@
1
- {"version":3,"names":["DropdownMenu","MenuGroup","__experimentalHStack","HStack","__experimentalHeading","Heading","__experimentalText","Text","__experimentalVStack","VStack","store","editorStore","useSelect","__","sprintf","moreVertical","AddNewPattern","RenameCategoryMenuItem","DeleteCategoryMenuItem","usePatternCategories","TEMPLATE_PART_POST_TYPE","PATTERN_TYPES","jsx","_jsx","jsxs","_jsxs","PatternsHeader","categoryId","type","titleId","descriptionId","patternCategories","templatePartAreas","select","__experimentalGetDefaultTemplatePartAreas","title","description","patternCategory","templatePartArea","find","area","label","user","category","name","className","spacing","children","justify","as","level","id","weight","truncate","expanded","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 AddNewPattern from '../add-new-pattern';\nimport RenameCategoryMenuItem from './rename-category-menu-item';\nimport DeleteCategoryMenuItem from './delete-category-menu-item';\nimport usePatternCategories from '../sidebar-navigation-screen-patterns/use-pattern-categories';\nimport { 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 || __( 'All Template Parts' );\n\t\tdescription =\n\t\t\ttemplatePartArea?.description ||\n\t\t\t__( 'Includes every template part defined for any area.' );\n\t} else if ( type === PATTERN_TYPES.user && !! categoryId ) {\n\t\tpatternCategory = patternCategories.find(\n\t\t\t( category ) => category.name === categoryId\n\t\t);\n\t\ttitle = patternCategory?.label;\n\t\tdescription = patternCategory?.description;\n\t}\n\n\tif ( ! title ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<VStack className=\"edit-site-patterns__section-header\" spacing={ 1 }>\n\t\t\t<HStack\n\t\t\t\tjustify=\"space-between\"\n\t\t\t\tclassName=\"edit-site-patterns__title\"\n\t\t\t>\n\t\t\t\t<Heading\n\t\t\t\t\tas=\"h2\"\n\t\t\t\t\tlevel={ 3 }\n\t\t\t\t\tid={ titleId }\n\t\t\t\t\tweight={ 500 }\n\t\t\t\t\ttruncate\n\t\t\t\t>\n\t\t\t\t\t{ title }\n\t\t\t\t</Heading>\n\t\t\t\t<HStack expanded={ false }>\n\t\t\t\t\t<AddNewPattern />\n\t\t\t\t\t{ !! patternCategory?.id && (\n\t\t\t\t\t\t<DropdownMenu\n\t\t\t\t\t\t\ticon={ moreVertical }\n\t\t\t\t\t\t\tlabel={ __( 'Actions' ) }\n\t\t\t\t\t\t\ttoggleProps={ {\n\t\t\t\t\t\t\t\tclassName: 'edit-site-patterns__button',\n\t\t\t\t\t\t\t\tdescribedBy: sprintf(\n\t\t\t\t\t\t\t\t\t/* translators: %s: pattern category name */\n\t\t\t\t\t\t\t\t\t__( 'Action menu for %s pattern category' ),\n\t\t\t\t\t\t\t\t\ttitle\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\tsize: 'compact',\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ ( { onClose } ) => (\n\t\t\t\t\t\t\t\t<MenuGroup>\n\t\t\t\t\t\t\t\t\t<RenameCategoryMenuItem\n\t\t\t\t\t\t\t\t\t\tcategory={ patternCategory }\n\t\t\t\t\t\t\t\t\t\tonClose={ onClose }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t<DeleteCategoryMenuItem\n\t\t\t\t\t\t\t\t\t\tcategory={ patternCategory }\n\t\t\t\t\t\t\t\t\t\tonClose={ onClose }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</MenuGroup>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</DropdownMenu>\n\t\t\t\t\t) }\n\t\t\t\t</HStack>\n\t\t\t</HStack>\n\t\t\t{ description ? (\n\t\t\t\t<Text\n\t\t\t\t\tvariant=\"muted\"\n\t\t\t\t\tas=\"p\"\n\t\t\t\t\tid={ descriptionId }\n\t\t\t\t\tclassName=\"edit-site-patterns__sub-title\"\n\t\t\t\t>\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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","ignoreList":[]}
1
+ {"version":3,"names":["DropdownMenu","MenuGroup","__experimentalHStack","HStack","__experimentalHeading","Heading","__experimentalText","Text","__experimentalVStack","VStack","store","editorStore","useSelect","__","sprintf","moreVertical","AddNewPattern","RenameCategoryMenuItem","DeleteCategoryMenuItem","usePatternCategories","TEMPLATE_PART_POST_TYPE","PATTERN_TYPES","jsx","_jsx","jsxs","_jsxs","PatternsHeader","categoryId","type","titleId","descriptionId","patternCategories","templatePartAreas","select","__experimentalGetDefaultTemplatePartAreas","title","description","patternCategory","templatePartArea","find","area","label","user","category","name","className","spacing","children","justify","as","level","id","weight","truncate","expanded","icon","toggleProps","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 AddNewPattern from '../add-new-pattern';\nimport RenameCategoryMenuItem from './rename-category-menu-item';\nimport DeleteCategoryMenuItem from './delete-category-menu-item';\nimport usePatternCategories from '../sidebar-navigation-screen-patterns/use-pattern-categories';\nimport { 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 || __( 'All Template Parts' );\n\t\tdescription =\n\t\t\ttemplatePartArea?.description ||\n\t\t\t__( 'Includes every template part defined for any area.' );\n\t} else if ( type === PATTERN_TYPES.user && !! categoryId ) {\n\t\tpatternCategory = patternCategories.find(\n\t\t\t( category ) => category.name === categoryId\n\t\t);\n\t\ttitle = patternCategory?.label;\n\t\tdescription = patternCategory?.description;\n\t}\n\n\tif ( ! title ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<VStack className=\"edit-site-patterns__section-header\" spacing={ 1 }>\n\t\t\t<HStack\n\t\t\t\tjustify=\"space-between\"\n\t\t\t\tclassName=\"edit-site-patterns__title\"\n\t\t\t>\n\t\t\t\t<Heading\n\t\t\t\t\tas=\"h2\"\n\t\t\t\t\tlevel={ 3 }\n\t\t\t\t\tid={ titleId }\n\t\t\t\t\tweight={ 500 }\n\t\t\t\t\ttruncate\n\t\t\t\t>\n\t\t\t\t\t{ title }\n\t\t\t\t</Heading>\n\t\t\t\t<HStack expanded={ false }>\n\t\t\t\t\t<AddNewPattern />\n\t\t\t\t\t{ !! patternCategory?.id && (\n\t\t\t\t\t\t<DropdownMenu\n\t\t\t\t\t\t\ticon={ moreVertical }\n\t\t\t\t\t\t\tlabel={ __( 'Actions' ) }\n\t\t\t\t\t\t\ttoggleProps={ {\n\t\t\t\t\t\t\t\tclassName: 'edit-site-patterns__button',\n\t\t\t\t\t\t\t\tdescription: sprintf(\n\t\t\t\t\t\t\t\t\t/* translators: %s: pattern category name */\n\t\t\t\t\t\t\t\t\t__( 'Action menu for %s pattern category' ),\n\t\t\t\t\t\t\t\t\ttitle\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\tsize: 'compact',\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ ( { onClose } ) => (\n\t\t\t\t\t\t\t\t<MenuGroup>\n\t\t\t\t\t\t\t\t\t<RenameCategoryMenuItem\n\t\t\t\t\t\t\t\t\t\tcategory={ patternCategory }\n\t\t\t\t\t\t\t\t\t\tonClose={ onClose }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t<DeleteCategoryMenuItem\n\t\t\t\t\t\t\t\t\t\tcategory={ patternCategory }\n\t\t\t\t\t\t\t\t\t\tonClose={ onClose }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</MenuGroup>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</DropdownMenu>\n\t\t\t\t\t) }\n\t\t\t\t</HStack>\n\t\t\t</HStack>\n\t\t\t{ description ? (\n\t\t\t\t<Text\n\t\t\t\t\tvariant=\"muted\"\n\t\t\t\t\tas=\"p\"\n\t\t\t\t\tid={ descriptionId }\n\t\t\t\t\tclassName=\"edit-site-patterns__sub-title\"\n\t\t\t\t>\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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","ignoreList":[]}
@@ -49,7 +49,15 @@ const EMPTY_ARRAY = [];
49
49
  const defaultLayouts = {
50
50
  [LAYOUT_TABLE]: {
51
51
  layout: {
52
- primaryField: 'title'
52
+ primaryField: 'title',
53
+ styles: {
54
+ preview: {
55
+ width: '1%'
56
+ },
57
+ author: {
58
+ width: '1%'
59
+ }
60
+ }
53
61
  }
54
62
  },
55
63
  [LAYOUT_GRID]: {
@@ -152,7 +160,7 @@ function Author({
152
160
  const withIcon = viewType !== LAYOUT_LIST;
153
161
  return /*#__PURE__*/_jsxs(HStack, {
154
162
  alignment: "left",
155
- spacing: 1,
163
+ spacing: 0,
156
164
  children: [withIcon && imageUrl && /*#__PURE__*/_jsx("div", {
157
165
  className: clsx('page-templates-author-field__avatar', {
158
166
  'is-loaded': isImageLoaded
@@ -256,7 +264,7 @@ export default function DataviewsPatterns() {
256
264
  }, [records]);
257
265
  const fields = useMemo(() => {
258
266
  const _fields = [{
259
- header: __('Preview'),
267
+ label: __('Preview'),
260
268
  id: 'preview',
261
269
  render: ({
262
270
  item
@@ -264,11 +272,13 @@ export default function DataviewsPatterns() {
264
272
  item: item,
265
273
  viewType: view.type
266
274
  }),
267
- enableSorting: false,
268
- width: '1%'
275
+ enableSorting: false
269
276
  }, {
270
- header: __('Title'),
277
+ label: __('Title'),
271
278
  id: 'title',
279
+ getValue: ({
280
+ item
281
+ }) => item.title?.raw || item.title,
272
282
  render: ({
273
283
  item
274
284
  }) => /*#__PURE__*/_jsx(Title, {
@@ -278,7 +288,7 @@ export default function DataviewsPatterns() {
278
288
  }];
279
289
  if (type === PATTERN_TYPES.user) {
280
290
  _fields.push({
281
- header: __('Sync status'),
291
+ label: __('Sync status'),
282
292
  id: 'sync-status',
283
293
  render: ({
284
294
  item
@@ -302,7 +312,7 @@ export default function DataviewsPatterns() {
302
312
  });
303
313
  } else if (type === TEMPLATE_PART_POST_TYPE) {
304
314
  _fields.push({
305
- header: __('Author'),
315
+ label: __('Author'),
306
316
  id: 'author',
307
317
  getValue: ({
308
318
  item
@@ -318,8 +328,7 @@ export default function DataviewsPatterns() {
318
328
  elements: authors,
319
329
  filterBy: {
320
330
  isPrimary: true
321
- },
322
- width: '1%'
331
+ }
323
332
  });
324
333
  }
325
334
  return _fields;
@@ -328,7 +337,10 @@ export default function DataviewsPatterns() {
328
337
  // Reset the page number when the category changes.
329
338
  useEffect(() => {
330
339
  if (previousCategoryId !== categoryId) {
331
- setView(DEFAULT_VIEW);
340
+ setView(prevView => ({
341
+ ...prevView,
342
+ page: 1
343
+ }));
332
344
  }
333
345
  }, [categoryId, previousCategoryId]);
334
346
  const {
@@ -1 +1 @@
1
- {"version":3,"names":["clsx","__experimentalHStack","HStack","Button","Tooltip","Flex","__","_x","useState","useMemo","useId","useEffect","BlockPreview","privateApis","blockEditorPrivateApis","DataViews","filterSortAndPaginate","Icon","lockSmall","usePrevious","useEntityRecords","editorPrivateApis","routerPrivateApis","parse","decodeEntities","Async","Page","LAYOUT_GRID","LAYOUT_TABLE","LAYOUT_LIST","PATTERN_TYPES","TEMPLATE_PART_POST_TYPE","PATTERN_SYNC_TYPES","PATTERN_DEFAULT_CATEGORY","OPERATOR_IS","usePatternSettings","unlock","usePatterns","PatternsHeader","useLink","useAddedBy","useEditPostAction","defaultGetTitle","jsx","_jsx","jsxs","_jsxs","ExperimentalBlockEditorProvider","useGlobalStyle","usePostActions","useLocation","EMPTY_ARRAY","defaultLayouts","layout","primaryField","mediaField","badgeFields","DEFAULT_VIEW","type","search","page","perPage","fields","filters","SYNC_FILTERS","value","full","label","description","unsynced","PreviewWrapper","item","onClick","ariaDescribedBy","children","className","theme","undefined","title","Preview","viewType","descriptionId","excerpt","raw","isUserPattern","user","isTemplatePart","backgroundColor","postType","postId","id","name","canvas","blocks","_item$blocks","content","__unstableSkipMigrationLogs","isEmpty","length","style","viewportWidth","hidden","Author","isImageLoaded","setIsImageLoaded","text","icon","imageUrl","withIcon","alignment","spacing","onLoad","alt","src","Title","justify","as","gap","variant","tabIndex","placement","size","DataviewsPatterns","params","categoryId","categoryIdFromURL","view","setView","previousCategoryId","viewSyncStatus","find","field","patterns","isResolving","syncStatus","records","per_page","authors","authorsSet","Set","forEach","template","add","author_text","Array","from","map","author","_fields","header","render","enableSorting","width","enableHiding","push","wp_pattern_sync_status","elements","filterBy","operators","isPrimary","getValue","data","paginationInfo","viewWithoutFilters","templatePartActions","context","patternActions","editAction","actions","filter","Boolean","settings","hideTitleFromUI","titleId","getItemId","_item$name","isLoading","onChangeView"],"sources":["@wordpress/edit-site/src/components/page-patterns/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalHStack as HStack,\n\tButton,\n\tTooltip,\n\tFlex,\n} from '@wordpress/components';\nimport { __, _x } from '@wordpress/i18n';\nimport { useState, useMemo, useId, useEffect } from '@wordpress/element';\nimport {\n\tBlockPreview,\n\tprivateApis as blockEditorPrivateApis,\n} from '@wordpress/block-editor';\nimport { DataViews, filterSortAndPaginate } from '@wordpress/dataviews';\nimport { Icon, lockSmall } from '@wordpress/icons';\nimport { usePrevious } from '@wordpress/compose';\nimport { useEntityRecords } from '@wordpress/core-data';\nimport { privateApis as editorPrivateApis } from '@wordpress/editor';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\nimport { parse } from '@wordpress/blocks';\nimport { decodeEntities } from '@wordpress/html-entities';\n\n/**\n * Internal dependencies\n */\nimport { Async } from '../async';\nimport Page from '../page';\nimport {\n\tLAYOUT_GRID,\n\tLAYOUT_TABLE,\n\tLAYOUT_LIST,\n\tPATTERN_TYPES,\n\tTEMPLATE_PART_POST_TYPE,\n\tPATTERN_SYNC_TYPES,\n\tPATTERN_DEFAULT_CATEGORY,\n\tOPERATOR_IS,\n} from '../../utils/constants';\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';\nimport { useAddedBy } from '../page-templates/hooks';\nimport { useEditPostAction } from '../dataviews-actions';\nimport { defaultGetTitle } from './search-items';\n\nconst { ExperimentalBlockEditorProvider, useGlobalStyle } = unlock(\n\tblockEditorPrivateApis\n);\nconst { usePostActions } = unlock( editorPrivateApis );\nconst { useLocation } = unlock( routerPrivateApis );\n\nconst EMPTY_ARRAY = [];\nconst defaultLayouts = {\n\t[ LAYOUT_TABLE ]: {\n\t\tlayout: {\n\t\t\tprimaryField: 'title',\n\t\t},\n\t},\n\t[ LAYOUT_GRID ]: {\n\t\tlayout: {\n\t\t\tmediaField: 'preview',\n\t\t\tprimaryField: 'title',\n\t\t\tbadgeFields: [ 'sync-status' ],\n\t\t},\n\t},\n};\nconst DEFAULT_VIEW = {\n\ttype: LAYOUT_GRID,\n\tsearch: '',\n\tpage: 1,\n\tperPage: 20,\n\tlayout: defaultLayouts[ LAYOUT_GRID ].layout,\n\tfields: [ 'title', 'sync-status' ],\n\tfilters: [],\n};\n\nconst SYNC_FILTERS = [\n\t{\n\t\tvalue: PATTERN_SYNC_TYPES.full,\n\t\tlabel: _x( 'Synced', 'pattern (singular)' ),\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( 'Not synced', 'pattern (singular)' ),\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\treturn (\n\t\t<button\n\t\t\tclassName=\"page-patterns-preview-field__button\"\n\t\t\ttype=\"button\"\n\t\t\tonClick={ item.type !== PATTERN_TYPES.theme ? onClick : undefined }\n\t\t\taria-label={ item.title }\n\t\t\taria-describedby={ ariaDescribedBy }\n\t\t\taria-disabled={ item.type === PATTERN_TYPES.theme }\n\t\t>\n\t\t\t{ children }\n\t\t</button>\n\t);\n}\n\nfunction Preview( { item, viewType } ) {\n\tconst descriptionId = useId();\n\tconst description = item.description || item?.excerpt?.raw;\n\tconst isUserPattern = item.type === PATTERN_TYPES.user;\n\tconst isTemplatePart = item.type === TEMPLATE_PART_POST_TYPE;\n\tconst [ backgroundColor ] = useGlobalStyle( 'color.background' );\n\tconst { onClick } = useLink( {\n\t\tpostType: item.type,\n\t\tpostId: isUserPattern || isTemplatePart ? item.id : item.name,\n\t\tcanvas: 'edit',\n\t} );\n\tconst blocks = useMemo( () => {\n\t\treturn (\n\t\t\titem.blocks ??\n\t\t\tparse( item.content.raw, {\n\t\t\t\t__unstableSkipMigrationLogs: true,\n\t\t\t} )\n\t\t);\n\t}, [ item?.content?.raw, item.blocks ] );\n\tconst isEmpty = ! blocks?.length;\n\n\treturn (\n\t\t<div\n\t\t\tclassName={ `page-patterns-preview-field is-viewtype-${ viewType }` }\n\t\t\tstyle={ { backgroundColor } }\n\t\t>\n\t\t\t<PreviewWrapper\n\t\t\t\titem={ item }\n\t\t\t\tonClick={ onClick }\n\t\t\t\tariaDescribedBy={ !! description ? descriptionId : undefined }\n\t\t\t>\n\t\t\t\t{ isEmpty && isTemplatePart && __( 'Empty template part' ) }\n\t\t\t\t{ isEmpty && ! isTemplatePart && __( 'Empty pattern' ) }\n\t\t\t\t{ ! isEmpty && (\n\t\t\t\t\t<Async>\n\t\t\t\t\t\t<BlockPreview\n\t\t\t\t\t\t\tblocks={ blocks }\n\t\t\t\t\t\t\tviewportWidth={ item.viewportWidth }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</Async>\n\t\t\t\t) }\n\t\t\t</PreviewWrapper>\n\t\t\t{ !! description && (\n\t\t\t\t<div hidden id={ descriptionId }>\n\t\t\t\t\t{ description }\n\t\t\t\t</div>\n\t\t\t) }\n\t\t</div>\n\t);\n}\n\nfunction Author( { 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={ clsx( 'page-templates-author-field__avatar', {\n\t\t\t\t\t\t'is-loaded': isImageLoaded,\n\t\t\t\t\t} ) }\n\t\t\t\t>\n\t\t\t\t\t<img\n\t\t\t\t\t\tonLoad={ () => setIsImageLoaded( true ) }\n\t\t\t\t\t\talt=\"\"\n\t\t\t\t\t\tsrc={ imageUrl }\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t) }\n\t\t\t{ 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 className=\"page-templates-author-field__name\">{ text }</span>\n\t\t</HStack>\n\t);\n}\n\nfunction Title( { item } ) {\n\tconst isUserPattern = item.type === PATTERN_TYPES.user;\n\tconst isTemplatePart = item.type === TEMPLATE_PART_POST_TYPE;\n\tconst { onClick } = useLink( {\n\t\tpostType: item.type,\n\t\tpostId: isUserPattern || isTemplatePart ? item.id : item.name,\n\t\tcanvas: 'edit',\n\t} );\n\tconst title = decodeEntities( defaultGetTitle( item ) );\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\ttitle\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{ title }\n\t\t\t\t\t</Button>\n\t\t\t\t) }\n\t\t\t</Flex>\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 {\n\t\tparams: { postType, categoryId: categoryIdFromURL },\n\t} = useLocation();\n\tconst type = postType || PATTERN_TYPES.user;\n\tconst categoryId = categoryIdFromURL || PATTERN_DEFAULT_CATEGORY;\n\tconst [ view, setView ] = useState( DEFAULT_VIEW );\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( type, categoryId, {\n\t\tsearch: view.search,\n\t\tsyncStatus: viewSyncStatus,\n\t} );\n\n\tconst { records } = useEntityRecords( 'postType', TEMPLATE_PART_POST_TYPE, {\n\t\tper_page: -1,\n\t} );\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\t<Preview item={ item } viewType={ view.type } />\n\t\t\t\t),\n\t\t\t\tenableSorting: false,\n\t\t\t\twidth: '1%',\n\t\t\t},\n\t\t\t{\n\t\t\t\theader: __( 'Title' ),\n\t\t\t\tid: 'title',\n\t\t\t\trender: ( { item } ) => <Title item={ item } />,\n\t\t\t\tenableHiding: false,\n\t\t\t},\n\t\t];\n\n\t\tif ( type === PATTERN_TYPES.user ) {\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\tconst syncStatus =\n\t\t\t\t\t\t'wp_pattern_sync_status' in item\n\t\t\t\t\t\t\t? item.wp_pattern_sync_status ||\n\t\t\t\t\t\t\t PATTERN_SYNC_TYPES.full\n\t\t\t\t\t\t\t: PATTERN_SYNC_TYPES.unsynced;\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\t<span\n\t\t\t\t\t\t\tclassName={ `edit-site-patterns__field-sync-status-${ syncStatus }` }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tSYNC_FILTERS.find(\n\t\t\t\t\t\t\t\t\t( { value } ) => value === syncStatus\n\t\t\t\t\t\t\t\t).label\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t</span>\n\t\t\t\t\t);\n\t\t\t\t},\n\t\t\t\telements: SYNC_FILTERS,\n\t\t\t\tfilterBy: {\n\t\t\t\t\toperators: [ OPERATOR_IS ],\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} else if ( type === TEMPLATE_PART_POST_TYPE ) {\n\t\t\t_fields.push( {\n\t\t\t\theader: __( 'Author' ),\n\t\t\t\tid: 'author',\n\t\t\t\tgetValue: ( { item } ) => item.author_text,\n\t\t\t\trender: ( { item } ) => {\n\t\t\t\t\treturn <Author viewType={ view.type } item={ item } />;\n\t\t\t\t},\n\t\t\t\telements: authors,\n\t\t\t\tfilterBy: {\n\t\t\t\t\tisPrimary: true,\n\t\t\t\t},\n\t\t\t\twidth: '1%',\n\t\t\t} );\n\t\t}\n\n\t\treturn _fields;\n\t}, [ view.type, type, authors ] );\n\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\t// Search is managed server-side as well as filters for patterns.\n\t\t// However, the author filter in template parts is done client-side.\n\t\tconst viewWithoutFilters = { ...view };\n\t\tdelete viewWithoutFilters.search;\n\t\tif ( type !== TEMPLATE_PART_POST_TYPE ) {\n\t\t\tviewWithoutFilters.filters = [];\n\t\t}\n\t\treturn filterSortAndPaginate( patterns, viewWithoutFilters, fields );\n\t}, [ patterns, view, fields, type ] );\n\n\tconst templatePartActions = usePostActions( {\n\t\tpostType: TEMPLATE_PART_POST_TYPE,\n\t\tcontext: 'list',\n\t} );\n\tconst patternActions = usePostActions( {\n\t\tpostType: PATTERN_TYPES.user,\n\t\tcontext: 'list',\n\t} );\n\tconst editAction = useEditPostAction();\n\n\tconst actions = useMemo( () => {\n\t\tif ( type === TEMPLATE_PART_POST_TYPE ) {\n\t\t\treturn [ editAction, ...templatePartActions ].filter( Boolean );\n\t\t}\n\t\treturn [ editAction, ...patternActions ].filter( Boolean );\n\t}, [ editAction, type, templatePartActions, patternActions ] );\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 ?? item.id }\n\t\t\t\t\tisLoading={ isResolving }\n\t\t\t\t\tview={ view }\n\t\t\t\t\tonChangeView={ setView }\n\t\t\t\t\tdefaultLayouts={ defaultLayouts }\n\t\t\t\t/>\n\t\t\t</Page>\n\t\t</ExperimentalBlockEditorProvider>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["clsx","__experimentalHStack","HStack","Button","Tooltip","Flex","__","_x","useState","useMemo","useId","useEffect","BlockPreview","privateApis","blockEditorPrivateApis","DataViews","filterSortAndPaginate","Icon","lockSmall","usePrevious","useEntityRecords","editorPrivateApis","routerPrivateApis","parse","decodeEntities","Async","Page","LAYOUT_GRID","LAYOUT_TABLE","LAYOUT_LIST","PATTERN_TYPES","TEMPLATE_PART_POST_TYPE","PATTERN_SYNC_TYPES","PATTERN_DEFAULT_CATEGORY","OPERATOR_IS","usePatternSettings","unlock","usePatterns","PatternsHeader","useLink","useAddedBy","useEditPostAction","defaultGetTitle","jsx","_jsx","jsxs","_jsxs","ExperimentalBlockEditorProvider","useGlobalStyle","usePostActions","useLocation","EMPTY_ARRAY","defaultLayouts","layout","primaryField","styles","preview","width","author","mediaField","badgeFields","DEFAULT_VIEW","type","search","page","perPage","fields","filters","SYNC_FILTERS","value","full","label","description","unsynced","PreviewWrapper","item","onClick","ariaDescribedBy","children","className","theme","undefined","title","Preview","viewType","descriptionId","excerpt","raw","isUserPattern","user","isTemplatePart","backgroundColor","postType","postId","id","name","canvas","blocks","_item$blocks","content","__unstableSkipMigrationLogs","isEmpty","length","style","viewportWidth","hidden","Author","isImageLoaded","setIsImageLoaded","text","icon","imageUrl","withIcon","alignment","spacing","onLoad","alt","src","Title","justify","as","gap","variant","tabIndex","placement","size","DataviewsPatterns","params","categoryId","categoryIdFromURL","view","setView","previousCategoryId","viewSyncStatus","find","field","patterns","isResolving","syncStatus","records","per_page","authors","authorsSet","Set","forEach","template","add","author_text","Array","from","map","_fields","render","enableSorting","getValue","enableHiding","push","wp_pattern_sync_status","elements","filterBy","operators","isPrimary","prevView","data","paginationInfo","viewWithoutFilters","templatePartActions","context","patternActions","editAction","actions","filter","Boolean","settings","hideTitleFromUI","titleId","getItemId","_item$name","isLoading","onChangeView"],"sources":["@wordpress/edit-site/src/components/page-patterns/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalHStack as HStack,\n\tButton,\n\tTooltip,\n\tFlex,\n} from '@wordpress/components';\nimport { __, _x } from '@wordpress/i18n';\nimport { useState, useMemo, useId, useEffect } from '@wordpress/element';\nimport {\n\tBlockPreview,\n\tprivateApis as blockEditorPrivateApis,\n} from '@wordpress/block-editor';\nimport { DataViews, filterSortAndPaginate } from '@wordpress/dataviews';\nimport { Icon, lockSmall } from '@wordpress/icons';\nimport { usePrevious } from '@wordpress/compose';\nimport { useEntityRecords } from '@wordpress/core-data';\nimport { privateApis as editorPrivateApis } from '@wordpress/editor';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\nimport { parse } from '@wordpress/blocks';\nimport { decodeEntities } from '@wordpress/html-entities';\n\n/**\n * Internal dependencies\n */\nimport { Async } from '../async';\nimport Page from '../page';\nimport {\n\tLAYOUT_GRID,\n\tLAYOUT_TABLE,\n\tLAYOUT_LIST,\n\tPATTERN_TYPES,\n\tTEMPLATE_PART_POST_TYPE,\n\tPATTERN_SYNC_TYPES,\n\tPATTERN_DEFAULT_CATEGORY,\n\tOPERATOR_IS,\n} from '../../utils/constants';\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';\nimport { useAddedBy } from '../page-templates/hooks';\nimport { useEditPostAction } from '../dataviews-actions';\nimport { defaultGetTitle } from './search-items';\n\nconst { ExperimentalBlockEditorProvider, useGlobalStyle } = unlock(\n\tblockEditorPrivateApis\n);\nconst { usePostActions } = unlock( editorPrivateApis );\nconst { useLocation } = unlock( routerPrivateApis );\n\nconst EMPTY_ARRAY = [];\nconst defaultLayouts = {\n\t[ LAYOUT_TABLE ]: {\n\t\tlayout: {\n\t\t\tprimaryField: 'title',\n\t\t\tstyles: {\n\t\t\t\tpreview: {\n\t\t\t\t\twidth: '1%',\n\t\t\t\t},\n\t\t\t\tauthor: {\n\t\t\t\t\twidth: '1%',\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t},\n\t[ LAYOUT_GRID ]: {\n\t\tlayout: {\n\t\t\tmediaField: 'preview',\n\t\t\tprimaryField: 'title',\n\t\t\tbadgeFields: [ 'sync-status' ],\n\t\t},\n\t},\n};\nconst DEFAULT_VIEW = {\n\ttype: LAYOUT_GRID,\n\tsearch: '',\n\tpage: 1,\n\tperPage: 20,\n\tlayout: defaultLayouts[ LAYOUT_GRID ].layout,\n\tfields: [ 'title', 'sync-status' ],\n\tfilters: [],\n};\n\nconst SYNC_FILTERS = [\n\t{\n\t\tvalue: PATTERN_SYNC_TYPES.full,\n\t\tlabel: _x( 'Synced', 'pattern (singular)' ),\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( 'Not synced', 'pattern (singular)' ),\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\treturn (\n\t\t<button\n\t\t\tclassName=\"page-patterns-preview-field__button\"\n\t\t\ttype=\"button\"\n\t\t\tonClick={ item.type !== PATTERN_TYPES.theme ? onClick : undefined }\n\t\t\taria-label={ item.title }\n\t\t\taria-describedby={ ariaDescribedBy }\n\t\t\taria-disabled={ item.type === PATTERN_TYPES.theme }\n\t\t>\n\t\t\t{ children }\n\t\t</button>\n\t);\n}\n\nfunction Preview( { item, viewType } ) {\n\tconst descriptionId = useId();\n\tconst description = item.description || item?.excerpt?.raw;\n\tconst isUserPattern = item.type === PATTERN_TYPES.user;\n\tconst isTemplatePart = item.type === TEMPLATE_PART_POST_TYPE;\n\tconst [ backgroundColor ] = useGlobalStyle( 'color.background' );\n\tconst { onClick } = useLink( {\n\t\tpostType: item.type,\n\t\tpostId: isUserPattern || isTemplatePart ? item.id : item.name,\n\t\tcanvas: 'edit',\n\t} );\n\tconst blocks = useMemo( () => {\n\t\treturn (\n\t\t\titem.blocks ??\n\t\t\tparse( item.content.raw, {\n\t\t\t\t__unstableSkipMigrationLogs: true,\n\t\t\t} )\n\t\t);\n\t}, [ item?.content?.raw, item.blocks ] );\n\tconst isEmpty = ! blocks?.length;\n\n\treturn (\n\t\t<div\n\t\t\tclassName={ `page-patterns-preview-field is-viewtype-${ viewType }` }\n\t\t\tstyle={ { backgroundColor } }\n\t\t>\n\t\t\t<PreviewWrapper\n\t\t\t\titem={ item }\n\t\t\t\tonClick={ onClick }\n\t\t\t\tariaDescribedBy={ !! description ? descriptionId : undefined }\n\t\t\t>\n\t\t\t\t{ isEmpty && isTemplatePart && __( 'Empty template part' ) }\n\t\t\t\t{ isEmpty && ! isTemplatePart && __( 'Empty pattern' ) }\n\t\t\t\t{ ! isEmpty && (\n\t\t\t\t\t<Async>\n\t\t\t\t\t\t<BlockPreview\n\t\t\t\t\t\t\tblocks={ blocks }\n\t\t\t\t\t\t\tviewportWidth={ item.viewportWidth }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</Async>\n\t\t\t\t) }\n\t\t\t</PreviewWrapper>\n\t\t\t{ !! description && (\n\t\t\t\t<div hidden id={ descriptionId }>\n\t\t\t\t\t{ description }\n\t\t\t\t</div>\n\t\t\t) }\n\t\t</div>\n\t);\n}\n\nfunction Author( { 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={ 0 }>\n\t\t\t{ withIcon && imageUrl && (\n\t\t\t\t<div\n\t\t\t\t\tclassName={ clsx( 'page-templates-author-field__avatar', {\n\t\t\t\t\t\t'is-loaded': isImageLoaded,\n\t\t\t\t\t} ) }\n\t\t\t\t>\n\t\t\t\t\t<img\n\t\t\t\t\t\tonLoad={ () => setIsImageLoaded( true ) }\n\t\t\t\t\t\talt=\"\"\n\t\t\t\t\t\tsrc={ imageUrl }\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t) }\n\t\t\t{ 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 className=\"page-templates-author-field__name\">{ text }</span>\n\t\t</HStack>\n\t);\n}\n\nfunction Title( { item } ) {\n\tconst isUserPattern = item.type === PATTERN_TYPES.user;\n\tconst isTemplatePart = item.type === TEMPLATE_PART_POST_TYPE;\n\tconst { onClick } = useLink( {\n\t\tpostType: item.type,\n\t\tpostId: isUserPattern || isTemplatePart ? item.id : item.name,\n\t\tcanvas: 'edit',\n\t} );\n\tconst title = decodeEntities( defaultGetTitle( item ) );\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\ttitle\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{ title }\n\t\t\t\t\t</Button>\n\t\t\t\t) }\n\t\t\t</Flex>\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 {\n\t\tparams: { postType, categoryId: categoryIdFromURL },\n\t} = useLocation();\n\tconst type = postType || PATTERN_TYPES.user;\n\tconst categoryId = categoryIdFromURL || PATTERN_DEFAULT_CATEGORY;\n\tconst [ view, setView ] = useState( DEFAULT_VIEW );\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( type, categoryId, {\n\t\tsearch: view.search,\n\t\tsyncStatus: viewSyncStatus,\n\t} );\n\n\tconst { records } = useEntityRecords( 'postType', TEMPLATE_PART_POST_TYPE, {\n\t\tper_page: -1,\n\t} );\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\tlabel: __( 'Preview' ),\n\t\t\t\tid: 'preview',\n\t\t\t\trender: ( { item } ) => (\n\t\t\t\t\t<Preview item={ item } viewType={ view.type } />\n\t\t\t\t),\n\t\t\t\tenableSorting: false,\n\t\t\t},\n\t\t\t{\n\t\t\t\tlabel: __( 'Title' ),\n\t\t\t\tid: 'title',\n\t\t\t\tgetValue: ( { item } ) => item.title?.raw || item.title,\n\t\t\t\trender: ( { item } ) => <Title item={ item } />,\n\t\t\t\tenableHiding: false,\n\t\t\t},\n\t\t];\n\n\t\tif ( type === PATTERN_TYPES.user ) {\n\t\t\t_fields.push( {\n\t\t\t\tlabel: __( 'Sync status' ),\n\t\t\t\tid: 'sync-status',\n\t\t\t\trender: ( { item } ) => {\n\t\t\t\t\tconst syncStatus =\n\t\t\t\t\t\t'wp_pattern_sync_status' in item\n\t\t\t\t\t\t\t? item.wp_pattern_sync_status ||\n\t\t\t\t\t\t\t PATTERN_SYNC_TYPES.full\n\t\t\t\t\t\t\t: PATTERN_SYNC_TYPES.unsynced;\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\t<span\n\t\t\t\t\t\t\tclassName={ `edit-site-patterns__field-sync-status-${ syncStatus }` }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tSYNC_FILTERS.find(\n\t\t\t\t\t\t\t\t\t( { value } ) => value === syncStatus\n\t\t\t\t\t\t\t\t).label\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t</span>\n\t\t\t\t\t);\n\t\t\t\t},\n\t\t\t\telements: SYNC_FILTERS,\n\t\t\t\tfilterBy: {\n\t\t\t\t\toperators: [ OPERATOR_IS ],\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} else if ( type === TEMPLATE_PART_POST_TYPE ) {\n\t\t\t_fields.push( {\n\t\t\t\tlabel: __( 'Author' ),\n\t\t\t\tid: 'author',\n\t\t\t\tgetValue: ( { item } ) => item.author_text,\n\t\t\t\trender: ( { item } ) => {\n\t\t\t\t\treturn <Author viewType={ view.type } item={ item } />;\n\t\t\t\t},\n\t\t\t\telements: authors,\n\t\t\t\tfilterBy: {\n\t\t\t\t\tisPrimary: true,\n\t\t\t\t},\n\t\t\t} );\n\t\t}\n\n\t\treturn _fields;\n\t}, [ view.type, type, authors ] );\n\n\t// Reset the page number when the category changes.\n\tuseEffect( () => {\n\t\tif ( previousCategoryId !== categoryId ) {\n\t\t\tsetView( ( prevView ) => ( { ...prevView, page: 1 } ) );\n\t\t}\n\t}, [ categoryId, previousCategoryId ] );\n\tconst { data, paginationInfo } = useMemo( () => {\n\t\t// Search is managed server-side as well as filters for patterns.\n\t\t// However, the author filter in template parts is done client-side.\n\t\tconst viewWithoutFilters = { ...view };\n\t\tdelete viewWithoutFilters.search;\n\t\tif ( type !== TEMPLATE_PART_POST_TYPE ) {\n\t\t\tviewWithoutFilters.filters = [];\n\t\t}\n\t\treturn filterSortAndPaginate( patterns, viewWithoutFilters, fields );\n\t}, [ patterns, view, fields, type ] );\n\n\tconst templatePartActions = usePostActions( {\n\t\tpostType: TEMPLATE_PART_POST_TYPE,\n\t\tcontext: 'list',\n\t} );\n\tconst patternActions = usePostActions( {\n\t\tpostType: PATTERN_TYPES.user,\n\t\tcontext: 'list',\n\t} );\n\tconst editAction = useEditPostAction();\n\n\tconst actions = useMemo( () => {\n\t\tif ( type === TEMPLATE_PART_POST_TYPE ) {\n\t\t\treturn [ editAction, ...templatePartActions ].filter( Boolean );\n\t\t}\n\t\treturn [ editAction, ...patternActions ].filter( Boolean );\n\t}, [ editAction, type, templatePartActions, patternActions ] );\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 ?? item.id }\n\t\t\t\t\tisLoading={ isResolving }\n\t\t\t\t\tview={ view }\n\t\t\t\t\tonChangeView={ setView }\n\t\t\t\t\tdefaultLayouts={ defaultLayouts }\n\t\t\t\t/>\n\t\t\t</Page>\n\t\t</ExperimentalBlockEditorProvider>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
@@ -6,7 +6,7 @@ import clsx from 'clsx';
6
6
  /**
7
7
  * WordPress dependencies
8
8
  */
9
- import { Icon, __experimentalText as Text, __experimentalHStack as HStack, VisuallyHidden } from '@wordpress/components';
9
+ import { Icon, __experimentalHStack as HStack } from '@wordpress/components';
10
10
  import { __ } from '@wordpress/i18n';
11
11
  import { useState, useMemo, useCallback, useEffect } from '@wordpress/element';
12
12
  import { useEntityRecords } from '@wordpress/core-data';
@@ -15,7 +15,7 @@ import { parse } from '@wordpress/blocks';
15
15
  import { BlockPreview, privateApis as blockEditorPrivateApis } from '@wordpress/block-editor';
16
16
  import { DataViews, filterSortAndPaginate } from '@wordpress/dataviews';
17
17
  import { privateApis as routerPrivateApis } from '@wordpress/router';
18
- import { privateApis as editorPrivateApis } from '@wordpress/editor';
18
+ import { privateApis as editorPrivateApis, EditorProvider } from '@wordpress/editor';
19
19
 
20
20
  /**
21
21
  * Internal dependencies
@@ -31,12 +31,10 @@ import { unlock } from '../../lock-unlock';
31
31
  import { useEditPostAction } from '../dataviews-actions';
32
32
  import { jsx as _jsx } from "react/jsx-runtime";
33
33
  import { jsxs as _jsxs } from "react/jsx-runtime";
34
- import { Fragment as _Fragment } from "react/jsx-runtime";
35
34
  const {
36
35
  usePostActions
37
36
  } = unlock(editorPrivateApis);
38
37
  const {
39
- ExperimentalBlockEditorProvider,
40
38
  useGlobalStyle
41
39
  } = unlock(blockEditorPrivateApis);
42
40
  const {
@@ -46,11 +44,32 @@ const {
46
44
  const EMPTY_ARRAY = [];
47
45
  const defaultLayouts = {
48
46
  [LAYOUT_TABLE]: {
47
+ fields: ['template', 'author'],
49
48
  layout: {
50
- primaryField: 'title'
49
+ primaryField: 'title',
50
+ combinedFields: [{
51
+ id: 'template',
52
+ label: __('Template'),
53
+ children: ['title', 'description'],
54
+ direction: 'vertical'
55
+ }],
56
+ styles: {
57
+ template: {
58
+ maxWidth: 400,
59
+ minWidth: 320
60
+ },
61
+ preview: {
62
+ minWidth: 120,
63
+ maxWidth: 120
64
+ },
65
+ author: {
66
+ width: '1%'
67
+ }
68
+ }
51
69
  }
52
70
  },
53
71
  [LAYOUT_GRID]: {
72
+ fields: ['title', 'description', 'author'],
54
73
  layout: {
55
74
  mediaField: 'preview',
56
75
  primaryField: 'title',
@@ -58,6 +77,7 @@ const defaultLayouts = {
58
77
  }
59
78
  },
60
79
  [LAYOUT_LIST]: {
80
+ fields: ['title', 'description', 'author'],
61
81
  layout: {
62
82
  primaryField: 'title',
63
83
  mediaField: 'preview'
@@ -73,7 +93,7 @@ const DEFAULT_VIEW = {
73
93
  field: 'title',
74
94
  direction: 'asc'
75
95
  },
76
- fields: ['title', 'description', 'author'],
96
+ fields: defaultLayouts[LAYOUT_GRID].fields,
77
97
  layout: defaultLayouts[LAYOUT_GRID].layout,
78
98
  filters: []
79
99
  };
@@ -97,8 +117,7 @@ function Title({
97
117
  });
98
118
  }
99
119
  function AuthorField({
100
- item,
101
- viewType
120
+ item
102
121
  }) {
103
122
  const [isImageLoaded, setIsImageLoaded] = useState(false);
104
123
  const {
@@ -106,11 +125,10 @@ function AuthorField({
106
125
  icon,
107
126
  imageUrl
108
127
  } = useAddedBy(item.type, item.id);
109
- const withIcon = viewType !== LAYOUT_LIST;
110
128
  return /*#__PURE__*/_jsxs(HStack, {
111
129
  alignment: "left",
112
- spacing: 1,
113
- children: [withIcon && imageUrl && /*#__PURE__*/_jsx("div", {
130
+ spacing: 0,
131
+ children: [imageUrl && /*#__PURE__*/_jsx("div", {
114
132
  className: clsx('page-templates-author-field__avatar', {
115
133
  'is-loaded': isImageLoaded
116
134
  }),
@@ -119,7 +137,7 @@ function AuthorField({
119
137
  alt: "",
120
138
  src: imageUrl
121
139
  })
122
- }), withIcon && !imageUrl && /*#__PURE__*/_jsx("div", {
140
+ }), !imageUrl && /*#__PURE__*/_jsx("div", {
123
141
  className: "page-templates-author-field__icon",
124
142
  children: /*#__PURE__*/_jsx(Icon, {
125
143
  icon: icon
@@ -154,7 +172,8 @@ function Preview({
154
172
  // TODO: Same approach is used in the patterns list and it becomes obvious that some of
155
173
  // the block editor settings are needed in context where we don't have the block editor.
156
174
  // Explore how we can solve this in a better way.
157
- return /*#__PURE__*/_jsx(ExperimentalBlockEditorProvider, {
175
+ return /*#__PURE__*/_jsx(EditorProvider, {
176
+ post: item,
158
177
  settings: settings,
159
178
  children: /*#__PURE__*/_jsxs("div", {
160
179
  className: `page-templates-preview-field is-viewtype-${viewType}`,
@@ -195,6 +214,7 @@ export default function PageTemplates() {
195
214
  ...DEFAULT_VIEW,
196
215
  type: usedType,
197
216
  layout: defaultLayouts[usedType].layout,
217
+ fields: defaultLayouts[usedType].fields,
198
218
  filters: activeView !== 'all' ? [{
199
219
  field: 'author',
200
220
  operator: 'isAny',
@@ -220,11 +240,12 @@ export default function PageTemplates() {
220
240
  per_page: -1
221
241
  });
222
242
  const history = useHistory();
223
- const onSelectionChange = useCallback(items => {
243
+ const onChangeSelection = useCallback(items => {
244
+ setSelection(items);
224
245
  if (view?.type === LAYOUT_LIST) {
225
246
  history.push({
226
247
  ...params,
227
- postId: items.length === 1 ? items[0].id : undefined
248
+ postId: items.length === 1 ? items[0] : undefined
228
249
  });
229
250
  }
230
251
  }, [history, params, view?.type]);
@@ -242,7 +263,7 @@ export default function PageTemplates() {
242
263
  }));
243
264
  }, [records]);
244
265
  const fields = useMemo(() => [{
245
- header: __('Preview'),
266
+ label: __('Preview'),
246
267
  id: 'preview',
247
268
  render: ({
248
269
  item
@@ -252,11 +273,9 @@ export default function PageTemplates() {
252
273
  viewType: view.type
253
274
  });
254
275
  },
255
- minWidth: 120,
256
- maxWidth: 120,
257
276
  enableSorting: false
258
277
  }, {
259
- header: __('Template'),
278
+ label: __('Template'),
260
279
  id: 'title',
261
280
  getValue: ({
262
281
  item
@@ -267,34 +286,23 @@ export default function PageTemplates() {
267
286
  item: item,
268
287
  viewType: view.type
269
288
  }),
270
- maxWidth: 400,
271
289
  enableHiding: false,
272
290
  enableGlobalSearch: true
273
291
  }, {
274
- header: __('Description'),
292
+ label: __('Description'),
275
293
  id: 'description',
276
294
  render: ({
277
295
  item
278
296
  }) => {
279
- return item.description ? /*#__PURE__*/_jsx("span", {
297
+ return item.description && /*#__PURE__*/_jsx("span", {
280
298
  className: "page-templates-description",
281
299
  children: decodeEntities(item.description)
282
- }) : view.type === LAYOUT_TABLE && /*#__PURE__*/_jsxs(_Fragment, {
283
- children: [/*#__PURE__*/_jsx(Text, {
284
- variant: "muted",
285
- "aria-hidden": "true",
286
- children: "\u2014"
287
- }), /*#__PURE__*/_jsx(VisuallyHidden, {
288
- children: __('No description.')
289
- })]
290
300
  });
291
301
  },
292
- maxWidth: 400,
293
- minWidth: 320,
294
302
  enableSorting: false,
295
303
  enableGlobalSearch: true
296
304
  }, {
297
- header: __('Author'),
305
+ label: __('Author'),
298
306
  id: 'author',
299
307
  getValue: ({
300
308
  item
@@ -307,8 +315,7 @@ export default function PageTemplates() {
307
315
  item: item
308
316
  });
309
317
  },
310
- elements: authors,
311
- width: '1%'
318
+ elements: authors
312
319
  }], [authors, view.type]);
313
320
  const {
314
321
  data,
@@ -343,9 +350,8 @@ export default function PageTemplates() {
343
350
  isLoading: isLoadingData,
344
351
  view: view,
345
352
  onChangeView: onChangeView,
346
- onSelectionChange: onSelectionChange,
353
+ onChangeSelection: onChangeSelection,
347
354
  selection: selection,
348
- setSelection: setSelection,
349
355
  defaultLayouts: defaultLayouts
350
356
  })
351
357
  });
@@ -1 +1 @@
1
- {"version":3,"names":["clsx","Icon","__experimentalText","Text","__experimentalHStack","HStack","VisuallyHidden","__","useState","useMemo","useCallback","useEffect","useEntityRecords","decodeEntities","parse","BlockPreview","privateApis","blockEditorPrivateApis","DataViews","filterSortAndPaginate","routerPrivateApis","editorPrivateApis","Async","Page","default","Link","useLink","AddNewTemplate","useAddedBy","TEMPLATE_POST_TYPE","OPERATOR_IS_ANY","LAYOUT_GRID","LAYOUT_TABLE","LAYOUT_LIST","usePatternSettings","unlock","useEditPostAction","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","usePostActions","ExperimentalBlockEditorProvider","useGlobalStyle","useHistory","useLocation","EMPTY_ARRAY","defaultLayouts","layout","primaryField","mediaField","columnFields","DEFAULT_VIEW","type","search","page","perPage","sort","field","direction","fields","filters","Title","item","viewType","title","rendered","linkProps","params","postId","id","postType","canvas","children","AuthorField","isImageLoaded","setIsImageLoaded","text","icon","imageUrl","withIcon","alignment","spacing","className","onLoad","alt","src","Preview","settings","backgroundColor","blocks","content","raw","onClick","isEmpty","length","style","PageTemplates","activeView","selection","setSelection","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","header","render","minWidth","maxWidth","enableSorting","getValue","enableHiding","enableGlobalSearch","description","variant","elements","width","data","paginationInfo","postTypeActions","context","editAction","actions","onChangeView","newView","isLoading"],"sources":["@wordpress/edit-site/src/components/page-templates/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\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 { DataViews, filterSortAndPaginate } from '@wordpress/dataviews';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\nimport { privateApis as editorPrivateApis } from '@wordpress/editor';\n\n/**\n * Internal dependencies\n */\nimport { Async } from '../async';\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\tOPERATOR_IS_ANY,\n\tLAYOUT_GRID,\n\tLAYOUT_TABLE,\n\tLAYOUT_LIST,\n} from '../../utils/constants';\n\nimport usePatternSettings from '../page-patterns/use-pattern-settings';\nimport { unlock } from '../../lock-unlock';\nimport { useEditPostAction } from '../dataviews-actions';\n\nconst { usePostActions } = unlock( editorPrivateApis );\n\nconst { ExperimentalBlockEditorProvider, useGlobalStyle } = unlock(\n\tblockEditorPrivateApis\n);\nconst { useHistory, useLocation } = unlock( routerPrivateApis );\n\nconst EMPTY_ARRAY = [];\n\nconst defaultLayouts = {\n\t[ LAYOUT_TABLE ]: {\n\t\tlayout: {\n\t\t\tprimaryField: 'title',\n\t\t},\n\t},\n\t[ LAYOUT_GRID ]: {\n\t\tlayout: {\n\t\t\tmediaField: 'preview',\n\t\t\tprimaryField: 'title',\n\t\t\tcolumnFields: [ 'description' ],\n\t\t},\n\t},\n\t[ LAYOUT_LIST ]: {\n\t\tlayout: {\n\t\t\tprimaryField: 'title',\n\t\t\tmediaField: 'preview',\n\t\t},\n\t},\n};\n\nconst DEFAULT_VIEW = {\n\ttype: LAYOUT_GRID,\n\tsearch: '',\n\tpage: 1,\n\tperPage: 20,\n\tsort: {\n\t\tfield: 'title',\n\t\tdirection: 'asc',\n\t},\n\tfields: [ 'title', 'description', 'author' ],\n\tlayout: defaultLayouts[ LAYOUT_GRID ].layout,\n\tfilters: [],\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\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={ clsx( 'page-templates-author-field__avatar', {\n\t\t\t\t\t\t'is-loaded': isImageLoaded,\n\t\t\t\t\t} ) }\n\t\t\t\t>\n\t\t\t\t\t<img\n\t\t\t\t\t\tonLoad={ () => setIsImageLoaded( true ) }\n\t\t\t\t\t\talt=\"\"\n\t\t\t\t\t\tsrc={ imageUrl }\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t) }\n\t\t\t{ 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 className=\"page-templates-author-field__name\">{ 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<Async>\n\t\t\t\t\t\t<BlockPreview blocks={ blocks } />\n\t\t\t\t\t</Async>\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 && __( 'Empty template' ) }\n\t\t\t\t\t\t{ ! isEmpty && (\n\t\t\t\t\t\t\t<Async>\n\t\t\t\t\t\t\t\t<BlockPreview blocks={ blocks } />\n\t\t\t\t\t\t\t</Async>\n\t\t\t\t\t\t) }\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 PageTemplates() {\n\tconst { params } = useLocation();\n\tconst { activeView = 'all', layout, postId } = params;\n\tconst [ selection, setSelection ] = useState( [ postId ] );\n\n\tconst defaultView = useMemo( () => {\n\t\tconst usedType = layout ?? DEFAULT_VIEW.type;\n\t\treturn {\n\t\t\t...DEFAULT_VIEW,\n\t\t\ttype: usedType,\n\t\t\tlayout: defaultLayouts[ usedType ].layout,\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: 'isAny',\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: OPERATOR_IS_ANY,\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\tTEMPLATE_POST_TYPE,\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\t() => [\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: __( 'Template' ),\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\tenableGlobalSearch: true,\n\t\t\t},\n\t\t\t{\n\t\t\t\theader: __( 'Description' ),\n\t\t\t\tid: '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\tenableGlobalSearch: true,\n\t\t\t},\n\t\t\t{\n\t\t\t\theader: __( 'Author' ),\n\t\t\t\tid: 'author',\n\t\t\t\tgetValue: ( { item } ) => item.author_text,\n\t\t\t\trender: ( { item } ) => {\n\t\t\t\t\treturn <AuthorField viewType={ view.type } item={ item } />;\n\t\t\t\t},\n\t\t\t\telements: authors,\n\t\t\t\twidth: '1%',\n\t\t\t},\n\t\t],\n\t\t[ authors, view.type ]\n\t);\n\n\tconst { data, paginationInfo } = useMemo( () => {\n\t\treturn filterSortAndPaginate( records, view, fields );\n\t}, [ records, view, fields ] );\n\n\tconst postTypeActions = usePostActions( {\n\t\tpostType: TEMPLATE_POST_TYPE,\n\t\tcontext: 'list',\n\t} );\n\tconst editAction = useEditPostAction();\n\tconst actions = useMemo(\n\t\t() => [ editAction, ...postTypeActions ],\n\t\t[ postTypeActions, editAction ]\n\t);\n\n\tconst onChangeView = useCallback(\n\t\t( newView ) => {\n\t\t\tif ( newView.type !== view.type ) {\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-templates\"\n\t\t\ttitle={ __( 'Templates' ) }\n\t\t\tactions={ <AddNewTemplate /> }\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\tselection={ selection }\n\t\t\t\tsetSelection={ setSelection }\n\t\t\t\tdefaultLayouts={ defaultLayouts }\n\t\t\t/>\n\t\t</Page>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["clsx","Icon","__experimentalHStack","HStack","__","useState","useMemo","useCallback","useEffect","useEntityRecords","decodeEntities","parse","BlockPreview","privateApis","blockEditorPrivateApis","DataViews","filterSortAndPaginate","routerPrivateApis","editorPrivateApis","EditorProvider","Async","Page","default","Link","useLink","AddNewTemplate","useAddedBy","TEMPLATE_POST_TYPE","OPERATOR_IS_ANY","LAYOUT_GRID","LAYOUT_TABLE","LAYOUT_LIST","usePatternSettings","unlock","useEditPostAction","jsx","_jsx","jsxs","_jsxs","usePostActions","useGlobalStyle","useHistory","useLocation","EMPTY_ARRAY","defaultLayouts","fields","layout","primaryField","combinedFields","id","label","children","direction","styles","template","maxWidth","minWidth","preview","author","width","mediaField","columnFields","DEFAULT_VIEW","type","search","page","perPage","sort","field","filters","Title","item","viewType","title","rendered","linkProps","params","postId","postType","canvas","AuthorField","isImageLoaded","setIsImageLoaded","text","icon","imageUrl","alignment","spacing","className","onLoad","alt","src","Preview","settings","backgroundColor","blocks","content","raw","onClick","isEmpty","length","post","style","PageTemplates","activeView","selection","setSelection","defaultView","usedType","operator","value","view","setView","currentView","records","isResolving","isLoadingData","per_page","history","onChangeSelection","items","push","undefined","authors","authorsSet","Set","forEach","add","author_text","Array","from","map","render","enableSorting","getValue","enableHiding","enableGlobalSearch","description","elements","data","paginationInfo","postTypeActions","context","editAction","actions","onChangeView","newView","isLoading"],"sources":["@wordpress/edit-site/src/components/page-templates/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { Icon, __experimentalHStack as HStack } 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 { DataViews, filterSortAndPaginate } from '@wordpress/dataviews';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\nimport {\n\tprivateApis as editorPrivateApis,\n\tEditorProvider,\n} from '@wordpress/editor';\n\n/**\n * Internal dependencies\n */\nimport { Async } from '../async';\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\tOPERATOR_IS_ANY,\n\tLAYOUT_GRID,\n\tLAYOUT_TABLE,\n\tLAYOUT_LIST,\n} from '../../utils/constants';\n\nimport usePatternSettings from '../page-patterns/use-pattern-settings';\nimport { unlock } from '../../lock-unlock';\nimport { useEditPostAction } from '../dataviews-actions';\n\nconst { usePostActions } = unlock( editorPrivateApis );\n\nconst { useGlobalStyle } = unlock( blockEditorPrivateApis );\nconst { useHistory, useLocation } = unlock( routerPrivateApis );\n\nconst EMPTY_ARRAY = [];\n\nconst defaultLayouts = {\n\t[ LAYOUT_TABLE ]: {\n\t\tfields: [ 'template', 'author' ],\n\t\tlayout: {\n\t\t\tprimaryField: 'title',\n\t\t\tcombinedFields: [\n\t\t\t\t{\n\t\t\t\t\tid: 'template',\n\t\t\t\t\tlabel: __( 'Template' ),\n\t\t\t\t\tchildren: [ 'title', 'description' ],\n\t\t\t\t\tdirection: 'vertical',\n\t\t\t\t},\n\t\t\t],\n\t\t\tstyles: {\n\t\t\t\ttemplate: {\n\t\t\t\t\tmaxWidth: 400,\n\t\t\t\t\tminWidth: 320,\n\t\t\t\t},\n\t\t\t\tpreview: {\n\t\t\t\t\tminWidth: 120,\n\t\t\t\t\tmaxWidth: 120,\n\t\t\t\t},\n\t\t\t\tauthor: {\n\t\t\t\t\twidth: '1%',\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t},\n\t[ LAYOUT_GRID ]: {\n\t\tfields: [ 'title', 'description', 'author' ],\n\t\tlayout: {\n\t\t\tmediaField: 'preview',\n\t\t\tprimaryField: 'title',\n\t\t\tcolumnFields: [ 'description' ],\n\t\t},\n\t},\n\t[ LAYOUT_LIST ]: {\n\t\tfields: [ 'title', 'description', 'author' ],\n\t\tlayout: {\n\t\t\tprimaryField: 'title',\n\t\t\tmediaField: 'preview',\n\t\t},\n\t},\n};\n\nconst DEFAULT_VIEW = {\n\ttype: LAYOUT_GRID,\n\tsearch: '',\n\tpage: 1,\n\tperPage: 20,\n\tsort: {\n\t\tfield: 'title',\n\t\tdirection: 'asc',\n\t},\n\tfields: defaultLayouts[ LAYOUT_GRID ].fields,\n\tlayout: defaultLayouts[ LAYOUT_GRID ].layout,\n\tfilters: [],\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\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 } ) {\n\tconst [ isImageLoaded, setIsImageLoaded ] = useState( false );\n\tconst { text, icon, imageUrl } = useAddedBy( item.type, item.id );\n\n\treturn (\n\t\t<HStack alignment=\"left\" spacing={ 0 }>\n\t\t\t{ imageUrl && (\n\t\t\t\t<div\n\t\t\t\t\tclassName={ clsx( 'page-templates-author-field__avatar', {\n\t\t\t\t\t\t'is-loaded': isImageLoaded,\n\t\t\t\t\t} ) }\n\t\t\t\t>\n\t\t\t\t\t<img\n\t\t\t\t\t\tonLoad={ () => setIsImageLoaded( true ) }\n\t\t\t\t\t\talt=\"\"\n\t\t\t\t\t\tsrc={ imageUrl }\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t) }\n\t\t\t{ ! imageUrl && (\n\t\t\t\t<div className=\"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 className=\"page-templates-author-field__name\">{ 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<EditorProvider post={ item } 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<Async>\n\t\t\t\t\t\t<BlockPreview blocks={ blocks } />\n\t\t\t\t\t</Async>\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 && __( 'Empty template' ) }\n\t\t\t\t\t\t{ ! isEmpty && (\n\t\t\t\t\t\t\t<Async>\n\t\t\t\t\t\t\t\t<BlockPreview blocks={ blocks } />\n\t\t\t\t\t\t\t</Async>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</button>\n\t\t\t\t) }\n\t\t\t</div>\n\t\t</EditorProvider>\n\t);\n}\n\nexport default function PageTemplates() {\n\tconst { params } = useLocation();\n\tconst { activeView = 'all', layout, postId } = params;\n\tconst [ selection, setSelection ] = useState( [ postId ] );\n\n\tconst defaultView = useMemo( () => {\n\t\tconst usedType = layout ?? DEFAULT_VIEW.type;\n\t\treturn {\n\t\t\t...DEFAULT_VIEW,\n\t\t\ttype: usedType,\n\t\t\tlayout: defaultLayouts[ usedType ].layout,\n\t\t\tfields: defaultLayouts[ usedType ].fields,\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: 'isAny',\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: OPERATOR_IS_ANY,\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\tTEMPLATE_POST_TYPE,\n\t\t{\n\t\t\tper_page: -1,\n\t\t}\n\t);\n\tconst history = useHistory();\n\tconst onChangeSelection = useCallback(\n\t\t( items ) => {\n\t\t\tsetSelection( 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 ] : 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\t() => [\n\t\t\t{\n\t\t\t\tlabel: __( '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\tenableSorting: false,\n\t\t\t},\n\t\t\t{\n\t\t\t\tlabel: __( 'Template' ),\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\tenableHiding: false,\n\t\t\t\tenableGlobalSearch: true,\n\t\t\t},\n\t\t\t{\n\t\t\t\tlabel: __( 'Description' ),\n\t\t\t\tid: 'description',\n\t\t\t\trender: ( { item } ) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\titem.description && (\n\t\t\t\t\t\t\t<span className=\"page-templates-description\">\n\t\t\t\t\t\t\t\t{ decodeEntities( item.description ) }\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t)\n\t\t\t\t\t);\n\t\t\t\t},\n\t\t\t\tenableSorting: false,\n\t\t\t\tenableGlobalSearch: true,\n\t\t\t},\n\t\t\t{\n\t\t\t\tlabel: __( 'Author' ),\n\t\t\t\tid: 'author',\n\t\t\t\tgetValue: ( { item } ) => item.author_text,\n\t\t\t\trender: ( { item } ) => {\n\t\t\t\t\treturn <AuthorField viewType={ view.type } item={ item } />;\n\t\t\t\t},\n\t\t\t\telements: authors,\n\t\t\t},\n\t\t],\n\t\t[ authors, view.type ]\n\t);\n\n\tconst { data, paginationInfo } = useMemo( () => {\n\t\treturn filterSortAndPaginate( records, view, fields );\n\t}, [ records, view, fields ] );\n\n\tconst postTypeActions = usePostActions( {\n\t\tpostType: TEMPLATE_POST_TYPE,\n\t\tcontext: 'list',\n\t} );\n\tconst editAction = useEditPostAction();\n\tconst actions = useMemo(\n\t\t() => [ editAction, ...postTypeActions ],\n\t\t[ postTypeActions, editAction ]\n\t);\n\n\tconst onChangeView = useCallback(\n\t\t( newView ) => {\n\t\t\tif ( newView.type !== view.type ) {\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-templates\"\n\t\t\ttitle={ __( 'Templates' ) }\n\t\t\tactions={ <AddNewTemplate /> }\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\tonChangeSelection={ onChangeSelection }\n\t\t\t\tselection={ selection }\n\t\t\t\tdefaultLayouts={ defaultLayouts }\n\t\t\t/>\n\t\t</Page>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}