@wordpress/edit-site 6.12.0 → 6.12.1-next.082ed6819.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/build/components/add-new-template/utils.js +1 -2
  2. package/build/components/add-new-template/utils.js.map +1 -1
  3. package/build/components/app/index.js +0 -3
  4. package/build/components/app/index.js.map +1 -1
  5. package/build/components/block-editor/use-site-editor-settings.js +4 -12
  6. package/build/components/block-editor/use-site-editor-settings.js.map +1 -1
  7. package/build/components/editor/index.js +18 -27
  8. package/build/components/editor/index.js.map +1 -1
  9. package/build/components/editor/use-editor-title.js +13 -5
  10. package/build/components/editor/use-editor-title.js.map +1 -1
  11. package/build/components/editor/use-resolve-edited-entity.js +133 -0
  12. package/build/components/editor/use-resolve-edited-entity.js.map +1 -0
  13. package/build/components/editor-canvas-container/index.js +1 -1
  14. package/build/components/editor-canvas-container/index.js.map +1 -1
  15. package/build/components/global-styles/block-preview-panel.js +8 -10
  16. package/build/components/global-styles/block-preview-panel.js.map +1 -1
  17. package/build/components/global-styles/screen-block.js +18 -5
  18. package/build/components/global-styles/screen-block.js.map +1 -1
  19. package/build/components/global-styles/screen-style-variations.js +11 -5
  20. package/build/components/global-styles/screen-style-variations.js.map +1 -1
  21. package/build/components/global-styles/ui.js.map +1 -1
  22. package/build/components/global-styles-sidebar/index.js +17 -1
  23. package/build/components/global-styles-sidebar/index.js.map +1 -1
  24. package/build/components/page-patterns/header.js +2 -2
  25. package/build/components/page-patterns/header.js.map +1 -1
  26. package/build/components/page-patterns/use-patterns.js +4 -8
  27. package/build/components/page-patterns/use-patterns.js.map +1 -1
  28. package/build/components/post-edit/index.js +10 -12
  29. package/build/components/post-edit/index.js.map +1 -1
  30. package/build/components/post-list/index.js +3 -3
  31. package/build/components/post-list/index.js.map +1 -1
  32. package/build/components/posts-app/index.js +3 -4
  33. package/build/components/posts-app/index.js.map +1 -1
  34. package/build/components/posts-app-routes/home.js +48 -0
  35. package/build/components/posts-app-routes/home.js.map +1 -0
  36. package/build/components/posts-app-routes/index.js +37 -0
  37. package/build/components/posts-app-routes/index.js.map +1 -0
  38. package/build/components/posts-app-routes/posts-edit.js +44 -0
  39. package/build/components/posts-app-routes/posts-edit.js.map +1 -0
  40. package/build/components/posts-app-routes/posts-list-view-quick-edit.js +63 -0
  41. package/build/components/posts-app-routes/posts-list-view-quick-edit.js.map +1 -0
  42. package/build/components/posts-app-routes/posts-list-view.js +48 -0
  43. package/build/components/posts-app-routes/posts-list-view.js.map +1 -0
  44. package/build/components/posts-app-routes/posts-view-quick-edit.js +60 -0
  45. package/build/components/posts-app-routes/posts-view-quick-edit.js.map +1 -0
  46. package/build/components/posts-app-routes/posts-view.js +41 -0
  47. package/build/components/posts-app-routes/posts-view.js.map +1 -0
  48. package/build/components/sidebar-navigation-screen-details-footer/index.js +17 -23
  49. package/build/components/sidebar-navigation-screen-details-footer/index.js.map +1 -1
  50. package/build/components/sidebar-navigation-screen-global-styles/index.js +4 -18
  51. package/build/components/sidebar-navigation-screen-global-styles/index.js.map +1 -1
  52. package/build/components/sidebar-navigation-screen-patterns/use-pattern-categories.js +1 -1
  53. package/build/components/sidebar-navigation-screen-patterns/use-pattern-categories.js.map +1 -1
  54. package/build/components/sidebar-navigation-screen-patterns/use-template-part-areas.js +2 -3
  55. package/build/components/sidebar-navigation-screen-patterns/use-template-part-areas.js.map +1 -1
  56. package/build/components/site-editor-routes/index.js +1 -2
  57. package/build/components/site-editor-routes/index.js.map +1 -1
  58. package/build/components/style-book/examples.js +24 -2
  59. package/build/components/style-book/examples.js.map +1 -1
  60. package/build/index.js +0 -9
  61. package/build/index.js.map +1 -1
  62. package/build/store/actions.js +13 -0
  63. package/build/store/actions.js.map +1 -1
  64. package/build/store/selectors.js +21 -1
  65. package/build/store/selectors.js.map +1 -1
  66. package/build-module/components/add-new-template/utils.js +1 -2
  67. package/build-module/components/add-new-template/utils.js.map +1 -1
  68. package/build-module/components/app/index.js +0 -3
  69. package/build-module/components/app/index.js.map +1 -1
  70. package/build-module/components/block-editor/use-site-editor-settings.js +4 -12
  71. package/build-module/components/block-editor/use-site-editor-settings.js.map +1 -1
  72. package/build-module/components/editor/index.js +18 -27
  73. package/build-module/components/editor/index.js.map +1 -1
  74. package/build-module/components/editor/use-editor-title.js +13 -5
  75. package/build-module/components/editor/use-editor-title.js.map +1 -1
  76. package/build-module/components/editor/use-resolve-edited-entity.js +125 -0
  77. package/build-module/components/editor/use-resolve-edited-entity.js.map +1 -0
  78. package/build-module/components/editor-canvas-container/index.js +1 -1
  79. package/build-module/components/editor-canvas-container/index.js.map +1 -1
  80. package/build-module/components/global-styles/block-preview-panel.js +8 -10
  81. package/build-module/components/global-styles/block-preview-panel.js.map +1 -1
  82. package/build-module/components/global-styles/screen-block.js +18 -5
  83. package/build-module/components/global-styles/screen-block.js.map +1 -1
  84. package/build-module/components/global-styles/screen-style-variations.js +11 -5
  85. package/build-module/components/global-styles/screen-style-variations.js.map +1 -1
  86. package/build-module/components/global-styles/ui.js +1 -1
  87. package/build-module/components/global-styles/ui.js.map +1 -1
  88. package/build-module/components/global-styles-sidebar/index.js +18 -2
  89. package/build-module/components/global-styles-sidebar/index.js.map +1 -1
  90. package/build-module/components/page-patterns/header.js +2 -2
  91. package/build-module/components/page-patterns/header.js.map +1 -1
  92. package/build-module/components/page-patterns/use-patterns.js +4 -8
  93. package/build-module/components/page-patterns/use-patterns.js.map +1 -1
  94. package/build-module/components/post-edit/index.js +9 -11
  95. package/build-module/components/post-edit/index.js.map +1 -1
  96. package/build-module/components/post-list/index.js +2 -2
  97. package/build-module/components/post-list/index.js.map +1 -1
  98. package/build-module/components/posts-app/index.js +3 -4
  99. package/build-module/components/posts-app/index.js.map +1 -1
  100. package/build-module/components/posts-app-routes/home.js +40 -0
  101. package/build-module/components/posts-app-routes/home.js.map +1 -0
  102. package/build-module/components/posts-app-routes/index.js +30 -0
  103. package/build-module/components/posts-app-routes/index.js.map +1 -0
  104. package/build-module/components/posts-app-routes/posts-edit.js +36 -0
  105. package/build-module/components/posts-app-routes/posts-edit.js.map +1 -0
  106. package/build-module/components/posts-app-routes/posts-list-view-quick-edit.js +55 -0
  107. package/build-module/components/posts-app-routes/posts-list-view-quick-edit.js.map +1 -0
  108. package/build-module/components/posts-app-routes/posts-list-view.js +40 -0
  109. package/build-module/components/posts-app-routes/posts-list-view.js.map +1 -0
  110. package/build-module/components/posts-app-routes/posts-view-quick-edit.js +52 -0
  111. package/build-module/components/posts-app-routes/posts-view-quick-edit.js.map +1 -0
  112. package/build-module/components/posts-app-routes/posts-view.js +33 -0
  113. package/build-module/components/posts-app-routes/posts-view.js.map +1 -0
  114. package/build-module/components/sidebar-navigation-screen-details-footer/index.js +20 -26
  115. package/build-module/components/sidebar-navigation-screen-details-footer/index.js.map +1 -1
  116. package/build-module/components/sidebar-navigation-screen-global-styles/index.js +4 -18
  117. package/build-module/components/sidebar-navigation-screen-global-styles/index.js.map +1 -1
  118. package/build-module/components/sidebar-navigation-screen-patterns/use-pattern-categories.js +1 -1
  119. package/build-module/components/sidebar-navigation-screen-patterns/use-pattern-categories.js.map +1 -1
  120. package/build-module/components/sidebar-navigation-screen-patterns/use-template-part-areas.js +3 -4
  121. package/build-module/components/sidebar-navigation-screen-patterns/use-template-part-areas.js.map +1 -1
  122. package/build-module/components/site-editor-routes/index.js +1 -2
  123. package/build-module/components/site-editor-routes/index.js.map +1 -1
  124. package/build-module/components/style-book/examples.js +24 -2
  125. package/build-module/components/style-book/examples.js.map +1 -1
  126. package/build-module/index.js +1 -10
  127. package/build-module/index.js.map +1 -1
  128. package/build-module/store/actions.js +13 -0
  129. package/build-module/store/actions.js.map +1 -1
  130. package/build-module/store/selectors.js +21 -1
  131. package/build-module/store/selectors.js.map +1 -1
  132. package/build-style/posts-rtl.css +59 -18
  133. package/build-style/posts.css +59 -18
  134. package/build-style/style-rtl.css +74 -57
  135. package/build-style/style.css +74 -57
  136. package/package.json +38 -38
  137. package/src/components/add-new-template/utils.js +2 -2
  138. package/src/components/app/index.js +0 -3
  139. package/src/components/block-editor/use-site-editor-settings.js +7 -21
  140. package/src/components/editor/index.js +22 -33
  141. package/src/components/editor/use-editor-title.js +17 -4
  142. package/src/components/editor/use-resolve-edited-entity.js +132 -0
  143. package/src/components/editor-canvas-container/index.js +1 -1
  144. package/src/components/global-styles/block-preview-panel.js +10 -10
  145. package/src/components/global-styles/screen-block.js +26 -8
  146. package/src/components/global-styles/screen-style-variations.js +14 -5
  147. package/src/components/global-styles/ui.js +1 -1
  148. package/src/components/global-styles-sidebar/index.js +16 -2
  149. package/src/components/page-patterns/header.js +3 -2
  150. package/src/components/page-patterns/use-patterns.js +9 -7
  151. package/src/components/page-templates/style.scss +1 -0
  152. package/src/components/post-edit/index.js +10 -13
  153. package/src/components/post-list/index.js +1 -2
  154. package/src/components/posts-app/index.js +3 -4
  155. package/src/components/posts-app-routes/home.js +36 -0
  156. package/src/components/posts-app-routes/index.js +36 -0
  157. package/src/components/posts-app-routes/posts-edit.js +31 -0
  158. package/src/components/posts-app-routes/posts-list-view-quick-edit.js +52 -0
  159. package/src/components/posts-app-routes/posts-list-view.js +40 -0
  160. package/src/components/posts-app-routes/posts-view-quick-edit.js +49 -0
  161. package/src/components/posts-app-routes/posts-view.js +35 -0
  162. package/src/components/sidebar-navigation-screen/style.scss +7 -2
  163. package/src/components/sidebar-navigation-screen-details-footer/index.js +27 -38
  164. package/src/components/sidebar-navigation-screen-details-footer/style.scss +0 -4
  165. package/src/components/sidebar-navigation-screen-global-styles/index.js +8 -17
  166. package/src/components/sidebar-navigation-screen-navigation-menus/style.scss +8 -0
  167. package/src/components/sidebar-navigation-screen-patterns/use-pattern-categories.js +1 -1
  168. package/src/components/sidebar-navigation-screen-patterns/use-template-part-areas.js +4 -4
  169. package/src/components/site-editor-routes/README.md +2 -2
  170. package/src/components/site-editor-routes/index.js +0 -2
  171. package/src/components/site-hub/style.scss +1 -1
  172. package/src/components/style-book/examples.tsx +24 -2
  173. package/src/index.js +1 -13
  174. package/src/store/actions.js +15 -0
  175. package/src/store/selectors.js +24 -1
  176. package/src/style.scss +0 -2
  177. package/build/components/post-fields/index.js +0 -96
  178. package/build/components/post-fields/index.js.map +0 -1
  179. package/build/components/posts-app/router.js +0 -85
  180. package/build/components/posts-app/router.js.map +0 -1
  181. package/build/components/sidebar-navigation-screen-details-panel/index.js +0 -54
  182. package/build/components/sidebar-navigation-screen-details-panel/index.js.map +0 -1
  183. package/build/components/sidebar-navigation-screen-details-panel/sidebar-navigation-screen-details-panel-label.js +0 -21
  184. package/build/components/sidebar-navigation-screen-details-panel/sidebar-navigation-screen-details-panel-label.js.map +0 -1
  185. package/build/components/sidebar-navigation-screen-details-panel/sidebar-navigation-screen-details-panel-row.js +0 -33
  186. package/build/components/sidebar-navigation-screen-details-panel/sidebar-navigation-screen-details-panel-row.js.map +0 -1
  187. package/build/components/sidebar-navigation-screen-details-panel/sidebar-navigation-screen-details-panel-value.js +0 -21
  188. package/build/components/sidebar-navigation-screen-details-panel/sidebar-navigation-screen-details-panel-value.js.map +0 -1
  189. package/build/components/site-editor-routes/styles-edit.js +0 -33
  190. package/build/components/site-editor-routes/styles-edit.js.map +0 -1
  191. package/build/components/sync-state-with-url/use-init-edited-entity-from-url.js +0 -219
  192. package/build/components/sync-state-with-url/use-init-edited-entity-from-url.js.map +0 -1
  193. package/build-module/components/post-fields/index.js +0 -88
  194. package/build-module/components/post-fields/index.js.map +0 -1
  195. package/build-module/components/posts-app/router.js +0 -77
  196. package/build-module/components/posts-app/router.js.map +0 -1
  197. package/build-module/components/sidebar-navigation-screen-details-panel/index.js +0 -29
  198. package/build-module/components/sidebar-navigation-screen-details-panel/index.js.map +0 -1
  199. package/build-module/components/sidebar-navigation-screen-details-panel/sidebar-navigation-screen-details-panel-label.js +0 -14
  200. package/build-module/components/sidebar-navigation-screen-details-panel/sidebar-navigation-screen-details-panel-label.js.map +0 -1
  201. package/build-module/components/sidebar-navigation-screen-details-panel/sidebar-navigation-screen-details-panel-row.js +0 -25
  202. package/build-module/components/sidebar-navigation-screen-details-panel/sidebar-navigation-screen-details-panel-row.js.map +0 -1
  203. package/build-module/components/sidebar-navigation-screen-details-panel/sidebar-navigation-screen-details-panel-value.js +0 -14
  204. package/build-module/components/sidebar-navigation-screen-details-panel/sidebar-navigation-screen-details-panel-value.js.map +0 -1
  205. package/build-module/components/site-editor-routes/styles-edit.js +0 -25
  206. package/build-module/components/site-editor-routes/styles-edit.js.map +0 -1
  207. package/build-module/components/sync-state-with-url/use-init-edited-entity-from-url.js +0 -212
  208. package/build-module/components/sync-state-with-url/use-init-edited-entity-from-url.js.map +0 -1
  209. package/src/components/post-fields/index.js +0 -107
  210. package/src/components/post-fields/style.scss +0 -3
  211. package/src/components/posts-app/router.js +0 -69
  212. package/src/components/sidebar-navigation-screen-details-panel/index.js +0 -40
  213. package/src/components/sidebar-navigation-screen-details-panel/sidebar-navigation-screen-details-panel-label.js +0 -14
  214. package/src/components/sidebar-navigation-screen-details-panel/sidebar-navigation-screen-details-panel-row.js +0 -31
  215. package/src/components/sidebar-navigation-screen-details-panel/sidebar-navigation-screen-details-panel-value.js +0 -14
  216. package/src/components/sidebar-navigation-screen-details-panel/style.scss +0 -26
  217. package/src/components/site-editor-routes/styles-edit.js +0 -26
  218. package/src/components/sync-state-with-url/use-init-edited-entity-from-url.js +0 -257
  219. package/src/store/test/actions.js +0 -83
  220. package/src/store/test/reducer.js +0 -69
  221. package/src/store/test/selectors.js +0 -41
@@ -1 +1 @@
1
- {"version":3,"names":["parse","useSelect","createSelector","store","coreStore","editorStore","useMemo","filterOutDuplicatesByName","EXCLUDED_PATTERN_SOURCES","PATTERN_TYPES","PATTERN_SYNC_TYPES","TEMPLATE_PART_POST_TYPE","TEMPLATE_PART_AREA_DEFAULT_CATEGORY","unlock","searchItems","editSiteStore","EMPTY_PATTERN_LIST","selectTemplateParts","select","categoryId","search","_getEntityRecords","getEntityRecords","isResolving","isResolvingSelector","__experimentalGetDefaultTemplatePartAreas","query","per_page","templateParts","knownAreas","templatePartAreas","map","area","templatePartHasCategory","item","category","includes","patterns","hasCategory","selectThemePatterns","_settings$__experimen","getSettings","settings","blockPatterns","__experimentalAdditionalBlockPatterns","__experimentalBlockPatterns","restBlockPatterns","getBlockPatterns","filter","pattern","source","inserter","keywords","type","theme","blocks","content","__unstableSkipMigrationLogs","selectPatterns","syncStatus","themePatterns","isResolvingThemePatterns","userPatterns","isResolvingUserPatterns","categories","userPatternCategories","selectUserPatterns","user","wp_pattern_sync_status","full","unsynced","currentCategory","wp_pattern_category","some","catId","find","cat","id","slug","length","hasOwnProperty","getUserPatternCategories","patternPosts","Map","forEach","userCategory","set","useAugmentPatternsWithPermissions","idsAndTypes","_patterns$filter$map","record","permissions","getEntityRecordPermissions","reduce","acc","_patterns$map","_permissions$record$i","usePatterns","postType","appliedCategory"],"sources":["@wordpress/edit-site/src/components/page-patterns/use-patterns.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { parse } from '@wordpress/blocks';\nimport { useSelect, createSelector } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { store as editorStore } from '@wordpress/editor';\nimport { useMemo } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { filterOutDuplicatesByName } from './utils';\nimport {\n\tEXCLUDED_PATTERN_SOURCES,\n\tPATTERN_TYPES,\n\tPATTERN_SYNC_TYPES,\n\tTEMPLATE_PART_POST_TYPE,\n\tTEMPLATE_PART_AREA_DEFAULT_CATEGORY,\n} from '../../utils/constants';\nimport { unlock } from '../../lock-unlock';\nimport { searchItems } from './search-items';\nimport { store as editSiteStore } from '../../store';\n\nconst EMPTY_PATTERN_LIST = [];\n\nconst selectTemplateParts = createSelector(\n\t( select, categoryId, search = '' ) => {\n\t\tconst { getEntityRecords, isResolving: isResolvingSelector } =\n\t\t\tselect( coreStore );\n\t\tconst { __experimentalGetDefaultTemplatePartAreas } =\n\t\t\tselect( editorStore );\n\t\tconst query = { per_page: -1 };\n\t\tconst templateParts =\n\t\t\tgetEntityRecords( 'postType', TEMPLATE_PART_POST_TYPE, query ) ??\n\t\t\tEMPTY_PATTERN_LIST;\n\n\t\t// In the case where a custom template part area has been removed we need\n\t\t// the current list of areas to cross check against so orphaned template\n\t\t// parts can be treated as uncategorized.\n\t\tconst knownAreas = __experimentalGetDefaultTemplatePartAreas() || [];\n\t\tconst templatePartAreas = knownAreas.map( ( area ) => area.area );\n\n\t\tconst templatePartHasCategory = ( item, category ) => {\n\t\t\tif ( category !== TEMPLATE_PART_AREA_DEFAULT_CATEGORY ) {\n\t\t\t\treturn item.area === category;\n\t\t\t}\n\n\t\t\treturn (\n\t\t\t\titem.area === category ||\n\t\t\t\t! templatePartAreas.includes( item.area )\n\t\t\t);\n\t\t};\n\n\t\tconst isResolving = isResolvingSelector( 'getEntityRecords', [\n\t\t\t'postType',\n\t\t\tTEMPLATE_PART_POST_TYPE,\n\t\t\tquery,\n\t\t] );\n\n\t\tconst patterns = searchItems( templateParts, search, {\n\t\t\tcategoryId,\n\t\t\thasCategory: templatePartHasCategory,\n\t\t} );\n\n\t\treturn { patterns, isResolving };\n\t},\n\t( select ) => [\n\t\tselect( coreStore ).getEntityRecords(\n\t\t\t'postType',\n\t\t\tTEMPLATE_PART_POST_TYPE,\n\t\t\t{\n\t\t\t\tper_page: -1,\n\t\t\t}\n\t\t),\n\t\tselect( coreStore ).isResolving( 'getEntityRecords', [\n\t\t\t'postType',\n\t\t\tTEMPLATE_PART_POST_TYPE,\n\t\t\t{ per_page: -1 },\n\t\t] ),\n\t\tselect( editorStore ).__experimentalGetDefaultTemplatePartAreas(),\n\t]\n);\n\nconst selectThemePatterns = createSelector(\n\t( select ) => {\n\t\tconst { getSettings } = unlock( select( editSiteStore ) );\n\t\tconst { isResolving: isResolvingSelector } = select( coreStore );\n\t\tconst settings = getSettings();\n\t\tconst blockPatterns =\n\t\t\tsettings.__experimentalAdditionalBlockPatterns ??\n\t\t\tsettings.__experimentalBlockPatterns;\n\n\t\tconst restBlockPatterns = select( coreStore ).getBlockPatterns();\n\n\t\tconst patterns = [\n\t\t\t...( blockPatterns || [] ),\n\t\t\t...( restBlockPatterns || [] ),\n\t\t]\n\t\t\t.filter(\n\t\t\t\t( pattern ) =>\n\t\t\t\t\t! EXCLUDED_PATTERN_SOURCES.includes( pattern.source )\n\t\t\t)\n\t\t\t.filter( filterOutDuplicatesByName )\n\t\t\t.filter( ( pattern ) => pattern.inserter !== false )\n\t\t\t.map( ( pattern ) => ( {\n\t\t\t\t...pattern,\n\t\t\t\tkeywords: pattern.keywords || [],\n\t\t\t\ttype: PATTERN_TYPES.theme,\n\t\t\t\tblocks: parse( pattern.content, {\n\t\t\t\t\t__unstableSkipMigrationLogs: true,\n\t\t\t\t} ),\n\t\t\t} ) );\n\t\treturn {\n\t\t\tpatterns,\n\t\t\tisResolving: isResolvingSelector( 'getBlockPatterns' ),\n\t\t};\n\t},\n\t( select ) => [\n\t\tselect( coreStore ).getBlockPatterns(),\n\t\tselect( coreStore ).isResolving( 'getBlockPatterns' ),\n\t\tunlock( select( editSiteStore ) ).getSettings(),\n\t]\n);\n\nconst selectPatterns = createSelector(\n\t( select, categoryId, syncStatus, search = '' ) => {\n\t\tconst {\n\t\t\tpatterns: themePatterns,\n\t\t\tisResolving: isResolvingThemePatterns,\n\t\t} = selectThemePatterns( select );\n\t\tconst {\n\t\t\tpatterns: userPatterns,\n\t\t\tisResolving: isResolvingUserPatterns,\n\t\t\tcategories: userPatternCategories,\n\t\t} = selectUserPatterns( select );\n\n\t\tlet patterns = [\n\t\t\t...( themePatterns || [] ),\n\t\t\t...( userPatterns || [] ),\n\t\t];\n\n\t\tif ( syncStatus ) {\n\t\t\t// User patterns can have their sync statuses checked directly\n\t\t\t// Non-user patterns are all unsynced for the time being.\n\t\t\tpatterns = patterns.filter( ( pattern ) => {\n\t\t\t\treturn pattern.type === PATTERN_TYPES.user\n\t\t\t\t\t? ( pattern.wp_pattern_sync_status ||\n\t\t\t\t\t\t\tPATTERN_SYNC_TYPES.full ) === syncStatus\n\t\t\t\t\t: syncStatus === PATTERN_SYNC_TYPES.unsynced;\n\t\t\t} );\n\t\t}\n\n\t\tif ( categoryId ) {\n\t\t\tpatterns = searchItems( patterns, search, {\n\t\t\t\tcategoryId,\n\t\t\t\thasCategory: ( item, currentCategory ) => {\n\t\t\t\t\tif ( item.type === PATTERN_TYPES.user ) {\n\t\t\t\t\t\treturn item.wp_pattern_category.some(\n\t\t\t\t\t\t\t( catId ) =>\n\t\t\t\t\t\t\t\tuserPatternCategories.find(\n\t\t\t\t\t\t\t\t\t( cat ) => cat.id === catId\n\t\t\t\t\t\t\t\t)?.slug === currentCategory\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\treturn item.categories?.includes( currentCategory );\n\t\t\t\t},\n\t\t\t} );\n\t\t} else {\n\t\t\tpatterns = searchItems( patterns, search, {\n\t\t\t\thasCategory: ( item ) => {\n\t\t\t\t\tif ( item.type === PATTERN_TYPES.user ) {\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\tuserPatternCategories?.length &&\n\t\t\t\t\t\t\t( ! item.wp_pattern_category?.length ||\n\t\t\t\t\t\t\t\t! item.wp_pattern_category.some( ( catId ) =>\n\t\t\t\t\t\t\t\t\tuserPatternCategories.find(\n\t\t\t\t\t\t\t\t\t\t( cat ) => cat.id === catId\n\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t) )\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\n\t\t\t\t\treturn ! item.hasOwnProperty( 'categories' );\n\t\t\t\t},\n\t\t\t} );\n\t\t}\n\t\treturn {\n\t\t\tpatterns,\n\t\t\tisResolving: isResolvingThemePatterns || isResolvingUserPatterns,\n\t\t};\n\t},\n\t( select ) => [\n\t\tselectThemePatterns( select ),\n\t\tselectUserPatterns( select ),\n\t]\n);\n\nconst selectUserPatterns = createSelector(\n\t( select, syncStatus, search = '' ) => {\n\t\tconst {\n\t\t\tgetEntityRecords,\n\t\t\tisResolving: isResolvingSelector,\n\t\t\tgetUserPatternCategories,\n\t\t} = select( coreStore );\n\n\t\tconst query = { per_page: -1 };\n\t\tconst patternPosts = getEntityRecords(\n\t\t\t'postType',\n\t\t\tPATTERN_TYPES.user,\n\t\t\tquery\n\t\t);\n\t\tconst userPatternCategories = getUserPatternCategories();\n\t\tconst categories = new Map();\n\t\tuserPatternCategories.forEach( ( userCategory ) =>\n\t\t\tcategories.set( userCategory.id, userCategory )\n\t\t);\n\t\tlet patterns = patternPosts ?? EMPTY_PATTERN_LIST;\n\t\tconst isResolving = isResolvingSelector( 'getEntityRecords', [\n\t\t\t'postType',\n\t\t\tPATTERN_TYPES.user,\n\t\t\tquery,\n\t\t] );\n\n\t\tif ( syncStatus ) {\n\t\t\tpatterns = patterns.filter(\n\t\t\t\t( pattern ) =>\n\t\t\t\t\tpattern.wp_pattern_sync_status ||\n\t\t\t\t\tPATTERN_SYNC_TYPES.full === syncStatus\n\t\t\t);\n\t\t}\n\n\t\tpatterns = searchItems( patterns, search, {\n\t\t\t// We exit user pattern retrieval early if we aren't in the\n\t\t\t// catch-all category for user created patterns, so it has\n\t\t\t// to be in the category.\n\t\t\thasCategory: () => true,\n\t\t} );\n\n\t\treturn {\n\t\t\tpatterns,\n\t\t\tisResolving,\n\t\t\tcategories: userPatternCategories,\n\t\t};\n\t},\n\t( select ) => [\n\t\tselect( coreStore ).getEntityRecords( 'postType', PATTERN_TYPES.user, {\n\t\t\tper_page: -1,\n\t\t} ),\n\t\tselect( coreStore ).isResolving( 'getEntityRecords', [\n\t\t\t'postType',\n\t\t\tPATTERN_TYPES.user,\n\t\t\t{ per_page: -1 },\n\t\t] ),\n\t\tselect( coreStore ).getUserPatternCategories(),\n\t]\n);\n\nexport function useAugmentPatternsWithPermissions( patterns ) {\n\tconst idsAndTypes = useMemo(\n\t\t() =>\n\t\t\tpatterns\n\t\t\t\t?.filter( ( record ) => record.type !== PATTERN_TYPES.theme )\n\t\t\t\t.map( ( record ) => [ record.type, record.id ] ) ?? [],\n\t\t[ patterns ]\n\t);\n\n\tconst permissions = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getEntityRecordPermissions } = unlock(\n\t\t\t\tselect( coreStore )\n\t\t\t);\n\t\t\treturn idsAndTypes.reduce( ( acc, [ type, id ] ) => {\n\t\t\t\tacc[ id ] = getEntityRecordPermissions( 'postType', type, id );\n\t\t\t\treturn acc;\n\t\t\t}, {} );\n\t\t},\n\t\t[ idsAndTypes ]\n\t);\n\n\treturn useMemo(\n\t\t() =>\n\t\t\tpatterns?.map( ( record ) => ( {\n\t\t\t\t...record,\n\t\t\t\tpermissions: permissions?.[ record.id ] ?? {},\n\t\t\t} ) ) ?? [],\n\t\t[ patterns, permissions ]\n\t);\n}\n\nexport const usePatterns = (\n\tpostType,\n\tcategoryId,\n\t{ search = '', syncStatus } = {}\n) => {\n\treturn useSelect(\n\t\t( select ) => {\n\t\t\tif ( postType === TEMPLATE_PART_POST_TYPE ) {\n\t\t\t\treturn selectTemplateParts( select, categoryId, search );\n\t\t\t} else if ( postType === PATTERN_TYPES.user && !! categoryId ) {\n\t\t\t\tconst appliedCategory =\n\t\t\t\t\tcategoryId === 'uncategorized' ? '' : categoryId;\n\t\t\t\treturn selectPatterns(\n\t\t\t\t\tselect,\n\t\t\t\t\tappliedCategory,\n\t\t\t\t\tsyncStatus,\n\t\t\t\t\tsearch\n\t\t\t\t);\n\t\t\t} else if ( postType === PATTERN_TYPES.user ) {\n\t\t\t\treturn selectUserPatterns( select, syncStatus, search );\n\t\t\t}\n\t\t\treturn {\n\t\t\t\tpatterns: EMPTY_PATTERN_LIST,\n\t\t\t\tisResolving: false,\n\t\t\t};\n\t\t},\n\t\t[ categoryId, postType, search, syncStatus ]\n\t);\n};\n\nexport default usePatterns;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["parse","useSelect","createSelector","store","coreStore","useMemo","filterOutDuplicatesByName","EXCLUDED_PATTERN_SOURCES","PATTERN_TYPES","PATTERN_SYNC_TYPES","TEMPLATE_PART_POST_TYPE","TEMPLATE_PART_AREA_DEFAULT_CATEGORY","unlock","searchItems","editSiteStore","EMPTY_PATTERN_LIST","selectTemplateParts","select","categoryId","search","_getEntityRecords","getEntityRecords","isResolving","isResolvingSelector","query","per_page","templateParts","knownAreas","getEntityRecord","default_template_part_areas","templatePartAreas","map","area","templatePartHasCategory","item","category","includes","patterns","hasCategory","selectThemePatterns","_settings$__experimen","getSettings","settings","blockPatterns","__experimentalAdditionalBlockPatterns","__experimentalBlockPatterns","restBlockPatterns","getBlockPatterns","filter","pattern","source","inserter","keywords","type","theme","blocks","content","__unstableSkipMigrationLogs","selectPatterns","syncStatus","themePatterns","isResolvingThemePatterns","userPatterns","isResolvingUserPatterns","categories","userPatternCategories","selectUserPatterns","user","wp_pattern_sync_status","full","unsynced","currentCategory","wp_pattern_category","some","catId","find","cat","id","slug","length","hasOwnProperty","getUserPatternCategories","patternPosts","Map","forEach","userCategory","set","useAugmentPatternsWithPermissions","idsAndTypes","_patterns$filter$map","record","permissions","getEntityRecordPermissions","reduce","acc","_patterns$map","_permissions$record$i","usePatterns","postType","appliedCategory"],"sources":["@wordpress/edit-site/src/components/page-patterns/use-patterns.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { parse } from '@wordpress/blocks';\nimport { useSelect, createSelector } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useMemo } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { filterOutDuplicatesByName } from './utils';\nimport {\n\tEXCLUDED_PATTERN_SOURCES,\n\tPATTERN_TYPES,\n\tPATTERN_SYNC_TYPES,\n\tTEMPLATE_PART_POST_TYPE,\n\tTEMPLATE_PART_AREA_DEFAULT_CATEGORY,\n} from '../../utils/constants';\nimport { unlock } from '../../lock-unlock';\nimport { searchItems } from './search-items';\nimport { store as editSiteStore } from '../../store';\n\nconst EMPTY_PATTERN_LIST = [];\n\nconst selectTemplateParts = createSelector(\n\t( select, categoryId, search = '' ) => {\n\t\tconst { getEntityRecords, isResolving: isResolvingSelector } =\n\t\t\tselect( coreStore );\n\n\t\tconst query = { per_page: -1 };\n\t\tconst templateParts =\n\t\t\tgetEntityRecords( 'postType', TEMPLATE_PART_POST_TYPE, query ) ??\n\t\t\tEMPTY_PATTERN_LIST;\n\n\t\t// In the case where a custom template part area has been removed we need\n\t\t// the current list of areas to cross check against so orphaned template\n\t\t// parts can be treated as uncategorized.\n\t\tconst knownAreas =\n\t\t\tselect( coreStore ).getEntityRecord( 'root', '__unstableBase' )\n\t\t\t\t?.default_template_part_areas || [];\n\n\t\tconst templatePartAreas = knownAreas.map( ( area ) => area.area );\n\n\t\tconst templatePartHasCategory = ( item, category ) => {\n\t\t\tif ( category !== TEMPLATE_PART_AREA_DEFAULT_CATEGORY ) {\n\t\t\t\treturn item.area === category;\n\t\t\t}\n\n\t\t\treturn (\n\t\t\t\titem.area === category ||\n\t\t\t\t! templatePartAreas.includes( item.area )\n\t\t\t);\n\t\t};\n\n\t\tconst isResolving = isResolvingSelector( 'getEntityRecords', [\n\t\t\t'postType',\n\t\t\tTEMPLATE_PART_POST_TYPE,\n\t\t\tquery,\n\t\t] );\n\n\t\tconst patterns = searchItems( templateParts, search, {\n\t\t\tcategoryId,\n\t\t\thasCategory: templatePartHasCategory,\n\t\t} );\n\n\t\treturn { patterns, isResolving };\n\t},\n\t( select ) => [\n\t\tselect( coreStore ).getEntityRecords(\n\t\t\t'postType',\n\t\t\tTEMPLATE_PART_POST_TYPE,\n\t\t\t{\n\t\t\t\tper_page: -1,\n\t\t\t}\n\t\t),\n\t\tselect( coreStore ).isResolving( 'getEntityRecords', [\n\t\t\t'postType',\n\t\t\tTEMPLATE_PART_POST_TYPE,\n\t\t\t{ per_page: -1 },\n\t\t] ),\n\t\tselect( coreStore ).getEntityRecord( 'root', '__unstableBase' )\n\t\t\t?.default_template_part_areas,\n\t]\n);\n\nconst selectThemePatterns = createSelector(\n\t( select ) => {\n\t\tconst { getSettings } = unlock( select( editSiteStore ) );\n\t\tconst { isResolving: isResolvingSelector } = select( coreStore );\n\t\tconst settings = getSettings();\n\t\tconst blockPatterns =\n\t\t\tsettings.__experimentalAdditionalBlockPatterns ??\n\t\t\tsettings.__experimentalBlockPatterns;\n\n\t\tconst restBlockPatterns = select( coreStore ).getBlockPatterns();\n\n\t\tconst patterns = [\n\t\t\t...( blockPatterns || [] ),\n\t\t\t...( restBlockPatterns || [] ),\n\t\t]\n\t\t\t.filter(\n\t\t\t\t( pattern ) =>\n\t\t\t\t\t! EXCLUDED_PATTERN_SOURCES.includes( pattern.source )\n\t\t\t)\n\t\t\t.filter( filterOutDuplicatesByName )\n\t\t\t.filter( ( pattern ) => pattern.inserter !== false )\n\t\t\t.map( ( pattern ) => ( {\n\t\t\t\t...pattern,\n\t\t\t\tkeywords: pattern.keywords || [],\n\t\t\t\ttype: PATTERN_TYPES.theme,\n\t\t\t\tblocks: parse( pattern.content, {\n\t\t\t\t\t__unstableSkipMigrationLogs: true,\n\t\t\t\t} ),\n\t\t\t} ) );\n\t\treturn {\n\t\t\tpatterns,\n\t\t\tisResolving: isResolvingSelector( 'getBlockPatterns' ),\n\t\t};\n\t},\n\t( select ) => [\n\t\tselect( coreStore ).getBlockPatterns(),\n\t\tselect( coreStore ).isResolving( 'getBlockPatterns' ),\n\t\tunlock( select( editSiteStore ) ).getSettings(),\n\t]\n);\n\nconst selectPatterns = createSelector(\n\t( select, categoryId, syncStatus, search = '' ) => {\n\t\tconst {\n\t\t\tpatterns: themePatterns,\n\t\t\tisResolving: isResolvingThemePatterns,\n\t\t} = selectThemePatterns( select );\n\t\tconst {\n\t\t\tpatterns: userPatterns,\n\t\t\tisResolving: isResolvingUserPatterns,\n\t\t\tcategories: userPatternCategories,\n\t\t} = selectUserPatterns( select );\n\n\t\tlet patterns = [\n\t\t\t...( themePatterns || [] ),\n\t\t\t...( userPatterns || [] ),\n\t\t];\n\n\t\tif ( syncStatus ) {\n\t\t\t// User patterns can have their sync statuses checked directly\n\t\t\t// Non-user patterns are all unsynced for the time being.\n\t\t\tpatterns = patterns.filter( ( pattern ) => {\n\t\t\t\treturn pattern.type === PATTERN_TYPES.user\n\t\t\t\t\t? ( pattern.wp_pattern_sync_status ||\n\t\t\t\t\t\t\tPATTERN_SYNC_TYPES.full ) === syncStatus\n\t\t\t\t\t: syncStatus === PATTERN_SYNC_TYPES.unsynced;\n\t\t\t} );\n\t\t}\n\n\t\tif ( categoryId ) {\n\t\t\tpatterns = searchItems( patterns, search, {\n\t\t\t\tcategoryId,\n\t\t\t\thasCategory: ( item, currentCategory ) => {\n\t\t\t\t\tif ( item.type === PATTERN_TYPES.user ) {\n\t\t\t\t\t\treturn item.wp_pattern_category?.some(\n\t\t\t\t\t\t\t( catId ) =>\n\t\t\t\t\t\t\t\tuserPatternCategories.find(\n\t\t\t\t\t\t\t\t\t( cat ) => cat.id === catId\n\t\t\t\t\t\t\t\t)?.slug === currentCategory\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\treturn item.categories?.includes( currentCategory );\n\t\t\t\t},\n\t\t\t} );\n\t\t} else {\n\t\t\tpatterns = searchItems( patterns, search, {\n\t\t\t\thasCategory: ( item ) => {\n\t\t\t\t\tif ( item.type === PATTERN_TYPES.user ) {\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\tuserPatternCategories?.length &&\n\t\t\t\t\t\t\t( ! item.wp_pattern_category?.length ||\n\t\t\t\t\t\t\t\t! item.wp_pattern_category?.some( ( catId ) =>\n\t\t\t\t\t\t\t\t\tuserPatternCategories.find(\n\t\t\t\t\t\t\t\t\t\t( cat ) => cat.id === catId\n\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t) )\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\n\t\t\t\t\treturn ! item.hasOwnProperty( 'categories' );\n\t\t\t\t},\n\t\t\t} );\n\t\t}\n\t\treturn {\n\t\t\tpatterns,\n\t\t\tisResolving: isResolvingThemePatterns || isResolvingUserPatterns,\n\t\t};\n\t},\n\t( select ) => [\n\t\tselectThemePatterns( select ),\n\t\tselectUserPatterns( select ),\n\t]\n);\n\nconst selectUserPatterns = createSelector(\n\t( select, syncStatus, search = '' ) => {\n\t\tconst {\n\t\t\tgetEntityRecords,\n\t\t\tisResolving: isResolvingSelector,\n\t\t\tgetUserPatternCategories,\n\t\t} = select( coreStore );\n\n\t\tconst query = { per_page: -1 };\n\t\tconst patternPosts = getEntityRecords(\n\t\t\t'postType',\n\t\t\tPATTERN_TYPES.user,\n\t\t\tquery\n\t\t);\n\t\tconst userPatternCategories = getUserPatternCategories();\n\t\tconst categories = new Map();\n\t\tuserPatternCategories.forEach( ( userCategory ) =>\n\t\t\tcategories.set( userCategory.id, userCategory )\n\t\t);\n\t\tlet patterns = patternPosts ?? EMPTY_PATTERN_LIST;\n\t\tconst isResolving = isResolvingSelector( 'getEntityRecords', [\n\t\t\t'postType',\n\t\t\tPATTERN_TYPES.user,\n\t\t\tquery,\n\t\t] );\n\n\t\tif ( syncStatus ) {\n\t\t\tpatterns = patterns.filter(\n\t\t\t\t( pattern ) =>\n\t\t\t\t\tpattern.wp_pattern_sync_status ||\n\t\t\t\t\tPATTERN_SYNC_TYPES.full === syncStatus\n\t\t\t);\n\t\t}\n\n\t\tpatterns = searchItems( patterns, search, {\n\t\t\t// We exit user pattern retrieval early if we aren't in the\n\t\t\t// catch-all category for user created patterns, so it has\n\t\t\t// to be in the category.\n\t\t\thasCategory: () => true,\n\t\t} );\n\n\t\treturn {\n\t\t\tpatterns,\n\t\t\tisResolving,\n\t\t\tcategories: userPatternCategories,\n\t\t};\n\t},\n\t( select ) => [\n\t\tselect( coreStore ).getEntityRecords( 'postType', PATTERN_TYPES.user, {\n\t\t\tper_page: -1,\n\t\t} ),\n\t\tselect( coreStore ).isResolving( 'getEntityRecords', [\n\t\t\t'postType',\n\t\t\tPATTERN_TYPES.user,\n\t\t\t{ per_page: -1 },\n\t\t] ),\n\t\tselect( coreStore ).getUserPatternCategories(),\n\t]\n);\n\nexport function useAugmentPatternsWithPermissions( patterns ) {\n\tconst idsAndTypes = useMemo(\n\t\t() =>\n\t\t\tpatterns\n\t\t\t\t?.filter( ( record ) => record.type !== PATTERN_TYPES.theme )\n\t\t\t\t.map( ( record ) => [ record.type, record.id ] ) ?? [],\n\t\t[ patterns ]\n\t);\n\n\tconst permissions = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getEntityRecordPermissions } = unlock(\n\t\t\t\tselect( coreStore )\n\t\t\t);\n\t\t\treturn idsAndTypes.reduce( ( acc, [ type, id ] ) => {\n\t\t\t\tacc[ id ] = getEntityRecordPermissions( 'postType', type, id );\n\t\t\t\treturn acc;\n\t\t\t}, {} );\n\t\t},\n\t\t[ idsAndTypes ]\n\t);\n\n\treturn useMemo(\n\t\t() =>\n\t\t\tpatterns?.map( ( record ) => ( {\n\t\t\t\t...record,\n\t\t\t\tpermissions: permissions?.[ record.id ] ?? {},\n\t\t\t} ) ) ?? [],\n\t\t[ patterns, permissions ]\n\t);\n}\n\nexport const usePatterns = (\n\tpostType,\n\tcategoryId,\n\t{ search = '', syncStatus } = {}\n) => {\n\treturn useSelect(\n\t\t( select ) => {\n\t\t\tif ( postType === TEMPLATE_PART_POST_TYPE ) {\n\t\t\t\treturn selectTemplateParts( select, categoryId, search );\n\t\t\t} else if ( postType === PATTERN_TYPES.user && !! categoryId ) {\n\t\t\t\tconst appliedCategory =\n\t\t\t\t\tcategoryId === 'uncategorized' ? '' : categoryId;\n\t\t\t\treturn selectPatterns(\n\t\t\t\t\tselect,\n\t\t\t\t\tappliedCategory,\n\t\t\t\t\tsyncStatus,\n\t\t\t\t\tsearch\n\t\t\t\t);\n\t\t\t} else if ( postType === PATTERN_TYPES.user ) {\n\t\t\t\treturn selectUserPatterns( select, syncStatus, search );\n\t\t\t}\n\t\t\treturn {\n\t\t\t\tpatterns: EMPTY_PATTERN_LIST,\n\t\t\t\tisResolving: false,\n\t\t\t};\n\t\t},\n\t\t[ categoryId, postType, search, syncStatus ]\n\t);\n};\n\nexport default usePatterns;\n"],"mappings":"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","ignoreList":[]}
@@ -18,11 +18,11 @@ import { privateApis as editorPrivateApis } from '@wordpress/editor';
18
18
  * Internal dependencies
19
19
  */
20
20
  import Page from '../page';
21
- import usePostFields from '../post-fields';
22
21
  import { unlock } from '../../lock-unlock';
23
22
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
24
23
  const {
25
- PostCardPanel
24
+ PostCardPanel,
25
+ usePostFields
26
26
  } = unlock(editorPrivateApis);
27
27
  const fieldsWithBulkEditSupport = ['title', 'status', 'date', 'author', 'comment_status'];
28
28
  function PostEditForm({
@@ -55,16 +55,14 @@ function PostEditForm({
55
55
  }), [_fields]);
56
56
  const form = useMemo(() => ({
57
57
  type: 'panel',
58
- fields: ['featured_media', 'title', 'status_and_visibility', 'author', 'date', 'slug', 'parent', 'comment_status'].filter(field => ids.length === 1 || fieldsWithBulkEditSupport.includes(field)),
59
- combinedFields: [{
60
- id: 'status_and_visibility',
58
+ fields: [{
59
+ id: 'featured_media',
60
+ layout: 'regular'
61
+ }, 'title', {
62
+ id: 'status',
61
63
  label: __('Status & Visibility'),
62
- children: ['status', 'password'],
63
- direction: 'vertical',
64
- render: ({
65
- item
66
- }) => item.status
67
- }]
64
+ children: ['status', 'password']
65
+ }, 'author', 'date', 'slug', 'parent', 'comment_status'].filter(field => ids.length === 1 || fieldsWithBulkEditSupport.includes(field))
68
66
  }), [ids]);
69
67
  const onChange = edits => {
70
68
  for (const id of ids) {
@@ -1 +1 @@
1
- {"version":3,"names":["clsx","__","DataForm","useDispatch","useSelect","store","coreDataStore","__experimentalVStack","VStack","useState","useMemo","useEffect","privateApis","editorPrivateApis","Page","usePostFields","unlock","jsx","_jsx","jsxs","_jsxs","PostCardPanel","fieldsWithBulkEditSupport","PostEditForm","postType","postId","ids","split","record","select","length","getEditedEntityRecord","multiEdits","setMultiEdits","editEntityRecord","fields","_fields","map","field","id","elements","filter","element","value","form","type","includes","combinedFields","label","children","direction","render","item","status","onChange","edits","Date","date","password","prev","spacing","data","PostEdit","className"],"sources":["@wordpress/edit-site/src/components/post-edit/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { DataForm } from '@wordpress/dataviews';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { store as coreDataStore } from '@wordpress/core-data';\nimport { __experimentalVStack as VStack } from '@wordpress/components';\nimport { useState, useMemo, useEffect } from '@wordpress/element';\nimport { privateApis as editorPrivateApis } from '@wordpress/editor';\n\n/**\n * Internal dependencies\n */\nimport Page from '../page';\nimport usePostFields from '../post-fields';\nimport { unlock } from '../../lock-unlock';\n\nconst { PostCardPanel } = unlock( editorPrivateApis );\n\nconst fieldsWithBulkEditSupport = [\n\t'title',\n\t'status',\n\t'date',\n\t'author',\n\t'comment_status',\n];\n\nfunction PostEditForm( { postType, postId } ) {\n\tconst ids = useMemo( () => postId.split( ',' ), [ postId ] );\n\tconst { record } = useSelect(\n\t\t( select ) => {\n\t\t\treturn {\n\t\t\t\trecord:\n\t\t\t\t\tids.length === 1\n\t\t\t\t\t\t? select( coreDataStore ).getEditedEntityRecord(\n\t\t\t\t\t\t\t\t'postType',\n\t\t\t\t\t\t\t\tpostType,\n\t\t\t\t\t\t\t\tids[ 0 ]\n\t\t\t\t\t\t )\n\t\t\t\t\t\t: null,\n\t\t\t};\n\t\t},\n\t\t[ postType, ids ]\n\t);\n\tconst [ multiEdits, setMultiEdits ] = useState( {} );\n\tconst { editEntityRecord } = useDispatch( coreDataStore );\n\tconst { fields: _fields } = usePostFields();\n\tconst fields = useMemo(\n\t\t() =>\n\t\t\t_fields?.map( ( field ) => {\n\t\t\t\tif ( field.id === 'status' ) {\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...field,\n\t\t\t\t\t\telements: field.elements.filter(\n\t\t\t\t\t\t\t( element ) => element.value !== 'trash'\n\t\t\t\t\t\t),\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t\treturn field;\n\t\t\t} ),\n\t\t[ _fields ]\n\t);\n\n\tconst form = useMemo(\n\t\t() => ( {\n\t\t\ttype: 'panel',\n\t\t\tfields: [\n\t\t\t\t'featured_media',\n\t\t\t\t'title',\n\t\t\t\t'status_and_visibility',\n\t\t\t\t'author',\n\t\t\t\t'date',\n\t\t\t\t'slug',\n\t\t\t\t'parent',\n\t\t\t\t'comment_status',\n\t\t\t].filter(\n\t\t\t\t( field ) =>\n\t\t\t\t\tids.length === 1 ||\n\t\t\t\t\tfieldsWithBulkEditSupport.includes( field )\n\t\t\t),\n\t\t\tcombinedFields: [\n\t\t\t\t{\n\t\t\t\t\tid: 'status_and_visibility',\n\t\t\t\t\tlabel: __( 'Status & Visibility' ),\n\t\t\t\t\tchildren: [ 'status', 'password' ],\n\t\t\t\t\tdirection: 'vertical',\n\t\t\t\t\trender: ( { item } ) => item.status,\n\t\t\t\t},\n\t\t\t],\n\t\t} ),\n\t\t[ ids ]\n\t);\n\tconst onChange = ( edits ) => {\n\t\tfor ( const id of ids ) {\n\t\t\tif (\n\t\t\t\tedits.status &&\n\t\t\t\tedits.status !== 'future' &&\n\t\t\t\trecord?.status === 'future' &&\n\t\t\t\tnew Date( record.date ) > new Date()\n\t\t\t) {\n\t\t\t\tedits.date = null;\n\t\t\t}\n\t\t\tif (\n\t\t\t\tedits.status &&\n\t\t\t\tedits.status === 'private' &&\n\t\t\t\trecord.password\n\t\t\t) {\n\t\t\t\tedits.password = '';\n\t\t\t}\n\t\t\teditEntityRecord( 'postType', postType, id, edits );\n\t\t\tif ( ids.length > 1 ) {\n\t\t\t\tsetMultiEdits( ( prev ) => ( {\n\t\t\t\t\t...prev,\n\t\t\t\t\t...edits,\n\t\t\t\t} ) );\n\t\t\t}\n\t\t}\n\t};\n\tuseEffect( () => {\n\t\tsetMultiEdits( {} );\n\t}, [ ids ] );\n\n\treturn (\n\t\t<VStack spacing={ 4 }>\n\t\t\t{ ids.length === 1 && (\n\t\t\t\t<PostCardPanel postType={ postType } postId={ ids[ 0 ] } />\n\t\t\t) }\n\t\t\t<DataForm\n\t\t\t\tdata={ ids.length === 1 ? record : multiEdits }\n\t\t\t\tfields={ fields }\n\t\t\t\tform={ form }\n\t\t\t\tonChange={ onChange }\n\t\t\t/>\n\t\t</VStack>\n\t);\n}\n\nexport function PostEdit( { postType, postId } ) {\n\treturn (\n\t\t<Page\n\t\t\tclassName={ clsx( 'edit-site-post-edit', {\n\t\t\t\t'is-empty': ! postId,\n\t\t\t} ) }\n\t\t\tlabel={ __( 'Post Edit' ) }\n\t\t>\n\t\t\t{ postId && (\n\t\t\t\t<PostEditForm postType={ postType } postId={ postId } />\n\t\t\t) }\n\t\t\t{ ! postId && <p>{ __( 'Select a page to edit' ) }</p> }\n\t\t</Page>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["clsx","__","DataForm","useDispatch","useSelect","store","coreDataStore","__experimentalVStack","VStack","useState","useMemo","useEffect","privateApis","editorPrivateApis","Page","unlock","jsx","_jsx","jsxs","_jsxs","PostCardPanel","usePostFields","fieldsWithBulkEditSupport","PostEditForm","postType","postId","ids","split","record","select","length","getEditedEntityRecord","multiEdits","setMultiEdits","editEntityRecord","fields","_fields","map","field","id","elements","filter","element","value","form","type","layout","label","children","includes","onChange","edits","status","Date","date","password","prev","spacing","data","PostEdit","className"],"sources":["@wordpress/edit-site/src/components/post-edit/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { DataForm } from '@wordpress/dataviews';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { store as coreDataStore } from '@wordpress/core-data';\nimport { __experimentalVStack as VStack } from '@wordpress/components';\nimport { useState, useMemo, useEffect } from '@wordpress/element';\nimport { privateApis as editorPrivateApis } from '@wordpress/editor';\n\n/**\n * Internal dependencies\n */\nimport Page from '../page';\nimport { unlock } from '../../lock-unlock';\n\nconst { PostCardPanel, usePostFields } = unlock( editorPrivateApis );\n\nconst fieldsWithBulkEditSupport = [\n\t'title',\n\t'status',\n\t'date',\n\t'author',\n\t'comment_status',\n];\n\nfunction PostEditForm( { postType, postId } ) {\n\tconst ids = useMemo( () => postId.split( ',' ), [ postId ] );\n\tconst { record } = useSelect(\n\t\t( select ) => {\n\t\t\treturn {\n\t\t\t\trecord:\n\t\t\t\t\tids.length === 1\n\t\t\t\t\t\t? select( coreDataStore ).getEditedEntityRecord(\n\t\t\t\t\t\t\t\t'postType',\n\t\t\t\t\t\t\t\tpostType,\n\t\t\t\t\t\t\t\tids[ 0 ]\n\t\t\t\t\t\t )\n\t\t\t\t\t\t: null,\n\t\t\t};\n\t\t},\n\t\t[ postType, ids ]\n\t);\n\tconst [ multiEdits, setMultiEdits ] = useState( {} );\n\tconst { editEntityRecord } = useDispatch( coreDataStore );\n\tconst { fields: _fields } = usePostFields();\n\tconst fields = useMemo(\n\t\t() =>\n\t\t\t_fields?.map( ( field ) => {\n\t\t\t\tif ( field.id === 'status' ) {\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...field,\n\t\t\t\t\t\telements: field.elements.filter(\n\t\t\t\t\t\t\t( element ) => element.value !== 'trash'\n\t\t\t\t\t\t),\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t\treturn field;\n\t\t\t} ),\n\t\t[ _fields ]\n\t);\n\n\tconst form = useMemo(\n\t\t() => ( {\n\t\t\ttype: 'panel',\n\t\t\tfields: [\n\t\t\t\t{\n\t\t\t\t\tid: 'featured_media',\n\t\t\t\t\tlayout: 'regular',\n\t\t\t\t},\n\t\t\t\t'title',\n\t\t\t\t{\n\t\t\t\t\tid: 'status',\n\t\t\t\t\tlabel: __( 'Status & Visibility' ),\n\t\t\t\t\tchildren: [ 'status', 'password' ],\n\t\t\t\t},\n\t\t\t\t'author',\n\t\t\t\t'date',\n\t\t\t\t'slug',\n\t\t\t\t'parent',\n\t\t\t\t'comment_status',\n\t\t\t].filter(\n\t\t\t\t( field ) =>\n\t\t\t\t\tids.length === 1 ||\n\t\t\t\t\tfieldsWithBulkEditSupport.includes( field )\n\t\t\t),\n\t\t} ),\n\t\t[ ids ]\n\t);\n\tconst onChange = ( edits ) => {\n\t\tfor ( const id of ids ) {\n\t\t\tif (\n\t\t\t\tedits.status &&\n\t\t\t\tedits.status !== 'future' &&\n\t\t\t\trecord?.status === 'future' &&\n\t\t\t\tnew Date( record.date ) > new Date()\n\t\t\t) {\n\t\t\t\tedits.date = null;\n\t\t\t}\n\t\t\tif (\n\t\t\t\tedits.status &&\n\t\t\t\tedits.status === 'private' &&\n\t\t\t\trecord.password\n\t\t\t) {\n\t\t\t\tedits.password = '';\n\t\t\t}\n\t\t\teditEntityRecord( 'postType', postType, id, edits );\n\t\t\tif ( ids.length > 1 ) {\n\t\t\t\tsetMultiEdits( ( prev ) => ( {\n\t\t\t\t\t...prev,\n\t\t\t\t\t...edits,\n\t\t\t\t} ) );\n\t\t\t}\n\t\t}\n\t};\n\tuseEffect( () => {\n\t\tsetMultiEdits( {} );\n\t}, [ ids ] );\n\n\treturn (\n\t\t<VStack spacing={ 4 }>\n\t\t\t{ ids.length === 1 && (\n\t\t\t\t<PostCardPanel postType={ postType } postId={ ids[ 0 ] } />\n\t\t\t) }\n\t\t\t<DataForm\n\t\t\t\tdata={ ids.length === 1 ? record : multiEdits }\n\t\t\t\tfields={ fields }\n\t\t\t\tform={ form }\n\t\t\t\tonChange={ onChange }\n\t\t\t/>\n\t\t</VStack>\n\t);\n}\n\nexport function PostEdit( { postType, postId } ) {\n\treturn (\n\t\t<Page\n\t\t\tclassName={ clsx( 'edit-site-post-edit', {\n\t\t\t\t'is-empty': ! postId,\n\t\t\t} ) }\n\t\t\tlabel={ __( 'Post Edit' ) }\n\t\t>\n\t\t\t{ postId && (\n\t\t\t\t<PostEditForm postType={ postType } postId={ postId } />\n\t\t\t) }\n\t\t\t{ ! postId && <p>{ __( 'Select a page to edit' ) }</p> }\n\t\t</Page>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
@@ -21,10 +21,10 @@ import AddNewPostModal from '../add-new-post';
21
21
  import { unlock } from '../../lock-unlock';
22
22
  import { useEditPostAction } from '../dataviews-actions';
23
23
  import { usePrevious } from '@wordpress/compose';
24
- import usePostFields from '../post-fields';
25
24
  import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
26
25
  const {
27
- usePostActions
26
+ usePostActions,
27
+ usePostFields
28
28
  } = unlock(editorPrivateApis);
29
29
  const {
30
30
  useLocation,
@@ -1 +1 @@
1
- {"version":3,"names":["Button","store","coreStore","privateApis","coreDataPrivateApis","useState","useMemo","useCallback","useEffect","routerPrivateApis","useSelect","useDispatch","DataViews","filterSortAndPaginate","editorPrivateApis","__","drawerRight","Page","useDefaultViews","defaultLayouts","OPERATOR_IS_ANY","OPERATOR_IS_NONE","LAYOUT_LIST","AddNewPostModal","unlock","useEditPostAction","usePrevious","usePostFields","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","usePostActions","useLocation","useHistory","useEntityRecordsWithPermissions","EMPTY_ARRAY","getDefaultView","defaultViews","activeView","find","slug","view","getCustomView","editedEntityRecord","content","undefined","JSON","parse","layout","type","useView","postType","params","isCustom","history","editEntityRecord","select","getEditedEntityRecord","Number","setView","initialView","_getCustomView","_getDefaultView","setViewWithUrlUpdate","newView","getLocationWithParams","push","id","stringify","prevView","DEFAULT_STATUSES","getItemId","item","toString","PostList","_postId$split","_data$map","_usePrevious","location","postId","quickEdit","selection","setSelection","split","onChangeSelection","items","_params$isCustom","join","getActiveViewFilters","views","match","_found$filters","found","filters","isLoading","isLoadingFields","fields","_fields","activeViewFilters","map","field","elements","includes","queryArgs","forEach","filter","operator","status","value","author","author_exclude","per_page","perPage","page","_embed","order","sort","direction","orderby","search","records","isResolving","isLoadingData","totalItems","totalPages","data","ids","record","prevIds","deletedIds","postIdWasDeleted","paginationInfo","labels","canCreateRecord","getPostType","canUser","kind","name","postTypeActions","context","editAction","actions","showAddPostModal","setShowAddPostModal","openModal","closeModal","handleNewPage","canvas","title","add_new_item","children","variant","onClick","__next40pxDefaultSize","onSave","onClose","onChangeView","isItemClickable","onClickItem","header","window","__experimentalQuickEditDataViews","size","isPressed","icon","label"],"sources":["@wordpress/edit-site/src/components/post-list/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { Button } from '@wordpress/components';\nimport {\n\tstore as coreStore,\n\tprivateApis as coreDataPrivateApis,\n} from '@wordpress/core-data';\nimport { useState, useMemo, useCallback, useEffect } from '@wordpress/element';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { DataViews, filterSortAndPaginate } from '@wordpress/dataviews';\nimport { privateApis as editorPrivateApis } from '@wordpress/editor';\nimport { __ } from '@wordpress/i18n';\nimport { drawerRight } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport Page from '../page';\nimport {\n\tuseDefaultViews,\n\tdefaultLayouts,\n} from '../sidebar-dataviews/default-views';\nimport {\n\tOPERATOR_IS_ANY,\n\tOPERATOR_IS_NONE,\n\tLAYOUT_LIST,\n} from '../../utils/constants';\n\nimport AddNewPostModal from '../add-new-post';\nimport { unlock } from '../../lock-unlock';\nimport { useEditPostAction } from '../dataviews-actions';\nimport { usePrevious } from '@wordpress/compose';\nimport usePostFields from '../post-fields';\n\nconst { usePostActions } = unlock( editorPrivateApis );\nconst { useLocation, useHistory } = unlock( routerPrivateApis );\nconst { useEntityRecordsWithPermissions } = unlock( coreDataPrivateApis );\nconst EMPTY_ARRAY = [];\n\nconst getDefaultView = ( defaultViews, activeView ) => {\n\treturn defaultViews.find( ( { slug } ) => slug === activeView )?.view;\n};\n\nconst getCustomView = ( editedEntityRecord ) => {\n\tif ( ! editedEntityRecord?.content ) {\n\t\treturn undefined;\n\t}\n\n\tconst content = JSON.parse( editedEntityRecord.content );\n\tif ( ! content ) {\n\t\treturn undefined;\n\t}\n\n\treturn {\n\t\t...content,\n\t\tlayout: defaultLayouts[ content.type ]?.layout,\n\t};\n};\n\n/**\n * This function abstracts working with default & custom views by\n * providing a [ state, setState ] tuple based on the URL parameters.\n *\n * Consumers use the provided tuple to work with state\n * and don't have to deal with the specifics of default & custom views.\n *\n * @param {string} postType Post type to retrieve default views for.\n * @return {Array} The [ state, setState ] tuple.\n */\nfunction useView( postType ) {\n\tconst {\n\t\tparams: { activeView = 'all', isCustom = 'false', layout },\n\t} = useLocation();\n\tconst history = useHistory();\n\n\tconst defaultViews = useDefaultViews( { postType } );\n\tconst { editEntityRecord } = useDispatch( coreStore );\n\tconst editedEntityRecord = useSelect(\n\t\t( select ) => {\n\t\t\tif ( isCustom !== 'true' ) {\n\t\t\t\treturn undefined;\n\t\t\t}\n\n\t\t\tconst { getEditedEntityRecord } = select( coreStore );\n\t\t\treturn getEditedEntityRecord(\n\t\t\t\t'postType',\n\t\t\t\t'wp_dataviews',\n\t\t\t\tNumber( activeView )\n\t\t\t);\n\t\t},\n\t\t[ activeView, isCustom ]\n\t);\n\tconst [ view, setView ] = useState( () => {\n\t\tlet initialView;\n\t\tif ( isCustom === 'true' ) {\n\t\t\tinitialView = getCustomView( editedEntityRecord ) ?? {\n\t\t\t\ttype: layout ?? LAYOUT_LIST,\n\t\t\t};\n\t\t} else {\n\t\t\tinitialView = getDefaultView( defaultViews, activeView ) ?? {\n\t\t\t\ttype: layout ?? LAYOUT_LIST,\n\t\t\t};\n\t\t}\n\n\t\tconst type = layout ?? initialView.type;\n\t\treturn {\n\t\t\t...initialView,\n\t\t\ttype,\n\t\t};\n\t} );\n\n\tconst setViewWithUrlUpdate = useCallback(\n\t\t( newView ) => {\n\t\t\tconst { params } = history.getLocationWithParams();\n\n\t\t\tif ( newView.type === LAYOUT_LIST && ! params?.layout ) {\n\t\t\t\t// Skip updating the layout URL param if\n\t\t\t\t// it is not present and the newView.type is LAYOUT_LIST.\n\t\t\t} else if ( newView.type !== params?.layout ) {\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\n\t\t\tif ( isCustom === 'true' && editedEntityRecord?.id ) {\n\t\t\t\teditEntityRecord(\n\t\t\t\t\t'postType',\n\t\t\t\t\t'wp_dataviews',\n\t\t\t\t\teditedEntityRecord?.id,\n\t\t\t\t\t{\n\t\t\t\t\t\tcontent: JSON.stringify( newView ),\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t}\n\t\t},\n\t\t[ history, isCustom, editEntityRecord, editedEntityRecord?.id ]\n\t);\n\n\t// When layout URL param changes, update the view type\n\t// without affecting any other config.\n\tuseEffect( () => {\n\t\tsetView( ( prevView ) => ( {\n\t\t\t...prevView,\n\t\t\ttype: layout ?? LAYOUT_LIST,\n\t\t} ) );\n\t}, [ layout ] );\n\n\t// When activeView or isCustom URL parameters change, reset the view.\n\tuseEffect( () => {\n\t\tlet newView;\n\t\tif ( isCustom === 'true' ) {\n\t\t\tnewView = getCustomView( editedEntityRecord );\n\t\t} else {\n\t\t\tnewView = getDefaultView( defaultViews, activeView );\n\t\t}\n\n\t\tif ( newView ) {\n\t\t\tconst type = layout ?? newView.type;\n\t\t\tsetView( {\n\t\t\t\t...newView,\n\t\t\t\ttype,\n\t\t\t} );\n\t\t}\n\t}, [ activeView, isCustom, layout, defaultViews, editedEntityRecord ] );\n\n\treturn [ view, setViewWithUrlUpdate, setViewWithUrlUpdate ];\n}\n\nconst DEFAULT_STATUSES = 'draft,future,pending,private,publish'; // All but 'trash'.\n\nfunction getItemId( item ) {\n\treturn item.id.toString();\n}\n\nexport default function PostList( { postType } ) {\n\tconst [ view, setView ] = useView( postType );\n\tconst defaultViews = useDefaultViews( { postType } );\n\tconst history = useHistory();\n\tconst location = useLocation();\n\tconst {\n\t\tpostId,\n\t\tquickEdit = false,\n\t\tisCustom,\n\t\tactiveView = 'all',\n\t} = location.params;\n\tconst [ selection, setSelection ] = useState( postId?.split( ',' ) ?? [] );\n\tconst onChangeSelection = useCallback(\n\t\t( items ) => {\n\t\t\tsetSelection( items );\n\t\t\tconst { params } = history.getLocationWithParams();\n\t\t\tif ( ( params.isCustom ?? 'false' ) === 'false' ) {\n\t\t\t\thistory.push( {\n\t\t\t\t\t...params,\n\t\t\t\t\tpostId: items.join( ',' ),\n\t\t\t\t} );\n\t\t\t}\n\t\t},\n\t\t[ history ]\n\t);\n\n\tconst getActiveViewFilters = ( views, match ) => {\n\t\tconst found = views.find( ( { slug } ) => slug === match );\n\t\treturn found?.filters ?? [];\n\t};\n\n\tconst { isLoading: isLoadingFields, fields: _fields } = usePostFields();\n\tconst fields = useMemo( () => {\n\t\tconst activeViewFilters = getActiveViewFilters(\n\t\t\tdefaultViews,\n\t\t\tactiveView\n\t\t).map( ( { field } ) => field );\n\t\treturn _fields.map( ( field ) => ( {\n\t\t\t...field,\n\t\t\telements: activeViewFilters.includes( field.id )\n\t\t\t\t? []\n\t\t\t\t: field.elements,\n\t\t} ) );\n\t}, [ _fields, defaultViews, activeView ] );\n\n\tconst queryArgs = useMemo( () => {\n\t\tconst filters = {};\n\t\tview.filters?.forEach( ( filter ) => {\n\t\t\tif (\n\t\t\t\tfilter.field === 'status' &&\n\t\t\t\tfilter.operator === OPERATOR_IS_ANY\n\t\t\t) {\n\t\t\t\tfilters.status = filter.value;\n\t\t\t}\n\t\t\tif (\n\t\t\t\tfilter.field === 'author' &&\n\t\t\t\tfilter.operator === OPERATOR_IS_ANY\n\t\t\t) {\n\t\t\t\tfilters.author = filter.value;\n\t\t\t} else if (\n\t\t\t\tfilter.field === 'author' &&\n\t\t\t\tfilter.operator === OPERATOR_IS_NONE\n\t\t\t) {\n\t\t\t\tfilters.author_exclude = filter.value;\n\t\t\t}\n\t\t} );\n\n\t\t// The bundled views want data filtered without displaying the filter.\n\t\tconst activeViewFilters = getActiveViewFilters(\n\t\t\tdefaultViews,\n\t\t\tactiveView\n\t\t);\n\t\tactiveViewFilters.forEach( ( filter ) => {\n\t\t\tif (\n\t\t\t\tfilter.field === 'status' &&\n\t\t\t\tfilter.operator === OPERATOR_IS_ANY\n\t\t\t) {\n\t\t\t\tfilters.status = filter.value;\n\t\t\t}\n\t\t\tif (\n\t\t\t\tfilter.field === 'author' &&\n\t\t\t\tfilter.operator === OPERATOR_IS_ANY\n\t\t\t) {\n\t\t\t\tfilters.author = filter.value;\n\t\t\t} else if (\n\t\t\t\tfilter.field === 'author' &&\n\t\t\t\tfilter.operator === OPERATOR_IS_NONE\n\t\t\t) {\n\t\t\t\tfilters.author_exclude = filter.value;\n\t\t\t}\n\t\t} );\n\n\t\t// We want to provide a different default item for the status filter\n\t\t// than the REST API provides.\n\t\tif ( ! filters.status || filters.status === '' ) {\n\t\t\tfilters.status = DEFAULT_STATUSES;\n\t\t}\n\n\t\treturn {\n\t\t\tper_page: view.perPage,\n\t\t\tpage: view.page,\n\t\t\t_embed: 'author',\n\t\t\torder: view.sort?.direction,\n\t\t\torderby: view.sort?.field,\n\t\t\tsearch: view.search,\n\t\t\t...filters,\n\t\t};\n\t}, [ view, activeView, defaultViews ] );\n\tconst {\n\t\trecords,\n\t\tisResolving: isLoadingData,\n\t\ttotalItems,\n\t\ttotalPages,\n\t} = useEntityRecordsWithPermissions( 'postType', postType, queryArgs );\n\n\t// The REST API sort the authors by ID, but we want to sort them by name.\n\tconst data = useMemo( () => {\n\t\tif ( ! isLoadingFields && view?.sort?.field === 'author' ) {\n\t\t\treturn filterSortAndPaginate(\n\t\t\t\trecords,\n\t\t\t\t{ sort: { ...view.sort } },\n\t\t\t\tfields\n\t\t\t).data;\n\t\t}\n\n\t\treturn records;\n\t}, [ records, fields, isLoadingFields, view?.sort ] );\n\n\tconst ids = data?.map( ( record ) => getItemId( record ) ) ?? [];\n\tconst prevIds = usePrevious( ids ) ?? [];\n\tconst deletedIds = prevIds.filter( ( id ) => ! ids.includes( id ) );\n\tconst postIdWasDeleted = deletedIds.includes( postId );\n\n\tuseEffect( () => {\n\t\tif ( postIdWasDeleted ) {\n\t\t\thistory.push( {\n\t\t\t\t...history.getLocationWithParams().params,\n\t\t\t\tpostId: undefined,\n\t\t\t} );\n\t\t}\n\t}, [ postIdWasDeleted, history ] );\n\n\tconst paginationInfo = useMemo(\n\t\t() => ( {\n\t\t\ttotalItems,\n\t\t\ttotalPages,\n\t\t} ),\n\t\t[ totalItems, totalPages ]\n\t);\n\n\tconst { labels, canCreateRecord } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getPostType, canUser } = select( coreStore );\n\t\t\treturn {\n\t\t\t\tlabels: getPostType( postType )?.labels,\n\t\t\t\tcanCreateRecord: canUser( 'create', {\n\t\t\t\t\tkind: 'postType',\n\t\t\t\t\tname: postType,\n\t\t\t\t} ),\n\t\t\t};\n\t\t},\n\t\t[ postType ]\n\t);\n\n\tconst postTypeActions = usePostActions( {\n\t\tpostType,\n\t\tcontext: 'list',\n\t} );\n\tconst editAction = useEditPostAction();\n\tconst actions = useMemo(\n\t\t() => [ editAction, ...postTypeActions ],\n\t\t[ postTypeActions, editAction ]\n\t);\n\n\tconst [ showAddPostModal, setShowAddPostModal ] = useState( false );\n\n\tconst openModal = () => setShowAddPostModal( true );\n\tconst closeModal = () => setShowAddPostModal( false );\n\tconst handleNewPage = ( { type, id } ) => {\n\t\thistory.push( {\n\t\t\tpostId: id,\n\t\t\tpostType: type,\n\t\t\tcanvas: 'edit',\n\t\t} );\n\t\tcloseModal();\n\t};\n\n\treturn (\n\t\t<Page\n\t\t\ttitle={ labels?.name }\n\t\t\tactions={\n\t\t\t\tlabels?.add_new_item &&\n\t\t\t\tcanCreateRecord && (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\tonClick={ openModal }\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ labels.add_new_item }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t{ showAddPostModal && (\n\t\t\t\t\t\t\t<AddNewPostModal\n\t\t\t\t\t\t\t\tpostType={ postType }\n\t\t\t\t\t\t\t\tonSave={ handleNewPage }\n\t\t\t\t\t\t\t\tonClose={ closeModal }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</>\n\t\t\t\t)\n\t\t\t}\n\t\t>\n\t\t\t<DataViews\n\t\t\t\tkey={ activeView + isCustom }\n\t\t\t\tpaginationInfo={ paginationInfo }\n\t\t\t\tfields={ fields }\n\t\t\t\tactions={ actions }\n\t\t\t\tdata={ data || EMPTY_ARRAY }\n\t\t\t\tisLoading={ isLoadingData || isLoadingFields }\n\t\t\t\tview={ view }\n\t\t\t\tonChangeView={ setView }\n\t\t\t\tselection={ selection }\n\t\t\t\tonChangeSelection={ onChangeSelection }\n\t\t\t\tisItemClickable={ ( item ) => item.status !== 'trash' }\n\t\t\t\tonClickItem={ ( { id } ) => {\n\t\t\t\t\thistory.push( {\n\t\t\t\t\t\tpostId: id,\n\t\t\t\t\t\tpostType,\n\t\t\t\t\t\tcanvas: 'edit',\n\t\t\t\t\t} );\n\t\t\t\t} }\n\t\t\t\tgetItemId={ getItemId }\n\t\t\t\tdefaultLayouts={ defaultLayouts }\n\t\t\t\theader={\n\t\t\t\t\twindow.__experimentalQuickEditDataViews &&\n\t\t\t\t\tview.type !== LAYOUT_LIST &&\n\t\t\t\t\tpostType === 'page' && (\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tsize=\"compact\"\n\t\t\t\t\t\t\tisPressed={ quickEdit }\n\t\t\t\t\t\t\ticon={ drawerRight }\n\t\t\t\t\t\t\tlabel={ __( 'Details' ) }\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\thistory.push( {\n\t\t\t\t\t\t\t\t\t...location.params,\n\t\t\t\t\t\t\t\t\tquickEdit: quickEdit ? undefined : true,\n\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t/>\n\t\t\t\t\t)\n\t\t\t\t}\n\t\t\t/>\n\t\t</Page>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["Button","store","coreStore","privateApis","coreDataPrivateApis","useState","useMemo","useCallback","useEffect","routerPrivateApis","useSelect","useDispatch","DataViews","filterSortAndPaginate","editorPrivateApis","__","drawerRight","Page","useDefaultViews","defaultLayouts","OPERATOR_IS_ANY","OPERATOR_IS_NONE","LAYOUT_LIST","AddNewPostModal","unlock","useEditPostAction","usePrevious","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","usePostActions","usePostFields","useLocation","useHistory","useEntityRecordsWithPermissions","EMPTY_ARRAY","getDefaultView","defaultViews","activeView","find","slug","view","getCustomView","editedEntityRecord","content","undefined","JSON","parse","layout","type","useView","postType","params","isCustom","history","editEntityRecord","select","getEditedEntityRecord","Number","setView","initialView","_getCustomView","_getDefaultView","setViewWithUrlUpdate","newView","getLocationWithParams","push","id","stringify","prevView","DEFAULT_STATUSES","getItemId","item","toString","PostList","_postId$split","_data$map","_usePrevious","location","postId","quickEdit","selection","setSelection","split","onChangeSelection","items","_params$isCustom","join","getActiveViewFilters","views","match","_found$filters","found","filters","isLoading","isLoadingFields","fields","_fields","activeViewFilters","map","field","elements","includes","queryArgs","forEach","filter","operator","status","value","author","author_exclude","per_page","perPage","page","_embed","order","sort","direction","orderby","search","records","isResolving","isLoadingData","totalItems","totalPages","data","ids","record","prevIds","deletedIds","postIdWasDeleted","paginationInfo","labels","canCreateRecord","getPostType","canUser","kind","name","postTypeActions","context","editAction","actions","showAddPostModal","setShowAddPostModal","openModal","closeModal","handleNewPage","canvas","title","add_new_item","children","variant","onClick","__next40pxDefaultSize","onSave","onClose","onChangeView","isItemClickable","onClickItem","header","window","__experimentalQuickEditDataViews","size","isPressed","icon","label"],"sources":["@wordpress/edit-site/src/components/post-list/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { Button } from '@wordpress/components';\nimport {\n\tstore as coreStore,\n\tprivateApis as coreDataPrivateApis,\n} from '@wordpress/core-data';\nimport { useState, useMemo, useCallback, useEffect } from '@wordpress/element';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { DataViews, filterSortAndPaginate } from '@wordpress/dataviews';\nimport { privateApis as editorPrivateApis } from '@wordpress/editor';\nimport { __ } from '@wordpress/i18n';\nimport { drawerRight } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport Page from '../page';\nimport {\n\tuseDefaultViews,\n\tdefaultLayouts,\n} from '../sidebar-dataviews/default-views';\nimport {\n\tOPERATOR_IS_ANY,\n\tOPERATOR_IS_NONE,\n\tLAYOUT_LIST,\n} from '../../utils/constants';\n\nimport AddNewPostModal from '../add-new-post';\nimport { unlock } from '../../lock-unlock';\nimport { useEditPostAction } from '../dataviews-actions';\nimport { usePrevious } from '@wordpress/compose';\n\nconst { usePostActions, usePostFields } = unlock( editorPrivateApis );\nconst { useLocation, useHistory } = unlock( routerPrivateApis );\nconst { useEntityRecordsWithPermissions } = unlock( coreDataPrivateApis );\nconst EMPTY_ARRAY = [];\n\nconst getDefaultView = ( defaultViews, activeView ) => {\n\treturn defaultViews.find( ( { slug } ) => slug === activeView )?.view;\n};\n\nconst getCustomView = ( editedEntityRecord ) => {\n\tif ( ! editedEntityRecord?.content ) {\n\t\treturn undefined;\n\t}\n\n\tconst content = JSON.parse( editedEntityRecord.content );\n\tif ( ! content ) {\n\t\treturn undefined;\n\t}\n\n\treturn {\n\t\t...content,\n\t\tlayout: defaultLayouts[ content.type ]?.layout,\n\t};\n};\n\n/**\n * This function abstracts working with default & custom views by\n * providing a [ state, setState ] tuple based on the URL parameters.\n *\n * Consumers use the provided tuple to work with state\n * and don't have to deal with the specifics of default & custom views.\n *\n * @param {string} postType Post type to retrieve default views for.\n * @return {Array} The [ state, setState ] tuple.\n */\nfunction useView( postType ) {\n\tconst {\n\t\tparams: { activeView = 'all', isCustom = 'false', layout },\n\t} = useLocation();\n\tconst history = useHistory();\n\n\tconst defaultViews = useDefaultViews( { postType } );\n\tconst { editEntityRecord } = useDispatch( coreStore );\n\tconst editedEntityRecord = useSelect(\n\t\t( select ) => {\n\t\t\tif ( isCustom !== 'true' ) {\n\t\t\t\treturn undefined;\n\t\t\t}\n\n\t\t\tconst { getEditedEntityRecord } = select( coreStore );\n\t\t\treturn getEditedEntityRecord(\n\t\t\t\t'postType',\n\t\t\t\t'wp_dataviews',\n\t\t\t\tNumber( activeView )\n\t\t\t);\n\t\t},\n\t\t[ activeView, isCustom ]\n\t);\n\tconst [ view, setView ] = useState( () => {\n\t\tlet initialView;\n\t\tif ( isCustom === 'true' ) {\n\t\t\tinitialView = getCustomView( editedEntityRecord ) ?? {\n\t\t\t\ttype: layout ?? LAYOUT_LIST,\n\t\t\t};\n\t\t} else {\n\t\t\tinitialView = getDefaultView( defaultViews, activeView ) ?? {\n\t\t\t\ttype: layout ?? LAYOUT_LIST,\n\t\t\t};\n\t\t}\n\n\t\tconst type = layout ?? initialView.type;\n\t\treturn {\n\t\t\t...initialView,\n\t\t\ttype,\n\t\t};\n\t} );\n\n\tconst setViewWithUrlUpdate = useCallback(\n\t\t( newView ) => {\n\t\t\tconst { params } = history.getLocationWithParams();\n\n\t\t\tif ( newView.type === LAYOUT_LIST && ! params?.layout ) {\n\t\t\t\t// Skip updating the layout URL param if\n\t\t\t\t// it is not present and the newView.type is LAYOUT_LIST.\n\t\t\t} else if ( newView.type !== params?.layout ) {\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\n\t\t\tif ( isCustom === 'true' && editedEntityRecord?.id ) {\n\t\t\t\teditEntityRecord(\n\t\t\t\t\t'postType',\n\t\t\t\t\t'wp_dataviews',\n\t\t\t\t\teditedEntityRecord?.id,\n\t\t\t\t\t{\n\t\t\t\t\t\tcontent: JSON.stringify( newView ),\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t}\n\t\t},\n\t\t[ history, isCustom, editEntityRecord, editedEntityRecord?.id ]\n\t);\n\n\t// When layout URL param changes, update the view type\n\t// without affecting any other config.\n\tuseEffect( () => {\n\t\tsetView( ( prevView ) => ( {\n\t\t\t...prevView,\n\t\t\ttype: layout ?? LAYOUT_LIST,\n\t\t} ) );\n\t}, [ layout ] );\n\n\t// When activeView or isCustom URL parameters change, reset the view.\n\tuseEffect( () => {\n\t\tlet newView;\n\t\tif ( isCustom === 'true' ) {\n\t\t\tnewView = getCustomView( editedEntityRecord );\n\t\t} else {\n\t\t\tnewView = getDefaultView( defaultViews, activeView );\n\t\t}\n\n\t\tif ( newView ) {\n\t\t\tconst type = layout ?? newView.type;\n\t\t\tsetView( {\n\t\t\t\t...newView,\n\t\t\t\ttype,\n\t\t\t} );\n\t\t}\n\t}, [ activeView, isCustom, layout, defaultViews, editedEntityRecord ] );\n\n\treturn [ view, setViewWithUrlUpdate, setViewWithUrlUpdate ];\n}\n\nconst DEFAULT_STATUSES = 'draft,future,pending,private,publish'; // All but 'trash'.\n\nfunction getItemId( item ) {\n\treturn item.id.toString();\n}\n\nexport default function PostList( { postType } ) {\n\tconst [ view, setView ] = useView( postType );\n\tconst defaultViews = useDefaultViews( { postType } );\n\tconst history = useHistory();\n\tconst location = useLocation();\n\tconst {\n\t\tpostId,\n\t\tquickEdit = false,\n\t\tisCustom,\n\t\tactiveView = 'all',\n\t} = location.params;\n\tconst [ selection, setSelection ] = useState( postId?.split( ',' ) ?? [] );\n\tconst onChangeSelection = useCallback(\n\t\t( items ) => {\n\t\t\tsetSelection( items );\n\t\t\tconst { params } = history.getLocationWithParams();\n\t\t\tif ( ( params.isCustom ?? 'false' ) === 'false' ) {\n\t\t\t\thistory.push( {\n\t\t\t\t\t...params,\n\t\t\t\t\tpostId: items.join( ',' ),\n\t\t\t\t} );\n\t\t\t}\n\t\t},\n\t\t[ history ]\n\t);\n\n\tconst getActiveViewFilters = ( views, match ) => {\n\t\tconst found = views.find( ( { slug } ) => slug === match );\n\t\treturn found?.filters ?? [];\n\t};\n\n\tconst { isLoading: isLoadingFields, fields: _fields } = usePostFields();\n\tconst fields = useMemo( () => {\n\t\tconst activeViewFilters = getActiveViewFilters(\n\t\t\tdefaultViews,\n\t\t\tactiveView\n\t\t).map( ( { field } ) => field );\n\t\treturn _fields.map( ( field ) => ( {\n\t\t\t...field,\n\t\t\telements: activeViewFilters.includes( field.id )\n\t\t\t\t? []\n\t\t\t\t: field.elements,\n\t\t} ) );\n\t}, [ _fields, defaultViews, activeView ] );\n\n\tconst queryArgs = useMemo( () => {\n\t\tconst filters = {};\n\t\tview.filters?.forEach( ( filter ) => {\n\t\t\tif (\n\t\t\t\tfilter.field === 'status' &&\n\t\t\t\tfilter.operator === OPERATOR_IS_ANY\n\t\t\t) {\n\t\t\t\tfilters.status = filter.value;\n\t\t\t}\n\t\t\tif (\n\t\t\t\tfilter.field === 'author' &&\n\t\t\t\tfilter.operator === OPERATOR_IS_ANY\n\t\t\t) {\n\t\t\t\tfilters.author = filter.value;\n\t\t\t} else if (\n\t\t\t\tfilter.field === 'author' &&\n\t\t\t\tfilter.operator === OPERATOR_IS_NONE\n\t\t\t) {\n\t\t\t\tfilters.author_exclude = filter.value;\n\t\t\t}\n\t\t} );\n\n\t\t// The bundled views want data filtered without displaying the filter.\n\t\tconst activeViewFilters = getActiveViewFilters(\n\t\t\tdefaultViews,\n\t\t\tactiveView\n\t\t);\n\t\tactiveViewFilters.forEach( ( filter ) => {\n\t\t\tif (\n\t\t\t\tfilter.field === 'status' &&\n\t\t\t\tfilter.operator === OPERATOR_IS_ANY\n\t\t\t) {\n\t\t\t\tfilters.status = filter.value;\n\t\t\t}\n\t\t\tif (\n\t\t\t\tfilter.field === 'author' &&\n\t\t\t\tfilter.operator === OPERATOR_IS_ANY\n\t\t\t) {\n\t\t\t\tfilters.author = filter.value;\n\t\t\t} else if (\n\t\t\t\tfilter.field === 'author' &&\n\t\t\t\tfilter.operator === OPERATOR_IS_NONE\n\t\t\t) {\n\t\t\t\tfilters.author_exclude = filter.value;\n\t\t\t}\n\t\t} );\n\n\t\t// We want to provide a different default item for the status filter\n\t\t// than the REST API provides.\n\t\tif ( ! filters.status || filters.status === '' ) {\n\t\t\tfilters.status = DEFAULT_STATUSES;\n\t\t}\n\n\t\treturn {\n\t\t\tper_page: view.perPage,\n\t\t\tpage: view.page,\n\t\t\t_embed: 'author',\n\t\t\torder: view.sort?.direction,\n\t\t\torderby: view.sort?.field,\n\t\t\tsearch: view.search,\n\t\t\t...filters,\n\t\t};\n\t}, [ view, activeView, defaultViews ] );\n\tconst {\n\t\trecords,\n\t\tisResolving: isLoadingData,\n\t\ttotalItems,\n\t\ttotalPages,\n\t} = useEntityRecordsWithPermissions( 'postType', postType, queryArgs );\n\n\t// The REST API sort the authors by ID, but we want to sort them by name.\n\tconst data = useMemo( () => {\n\t\tif ( ! isLoadingFields && view?.sort?.field === 'author' ) {\n\t\t\treturn filterSortAndPaginate(\n\t\t\t\trecords,\n\t\t\t\t{ sort: { ...view.sort } },\n\t\t\t\tfields\n\t\t\t).data;\n\t\t}\n\n\t\treturn records;\n\t}, [ records, fields, isLoadingFields, view?.sort ] );\n\n\tconst ids = data?.map( ( record ) => getItemId( record ) ) ?? [];\n\tconst prevIds = usePrevious( ids ) ?? [];\n\tconst deletedIds = prevIds.filter( ( id ) => ! ids.includes( id ) );\n\tconst postIdWasDeleted = deletedIds.includes( postId );\n\n\tuseEffect( () => {\n\t\tif ( postIdWasDeleted ) {\n\t\t\thistory.push( {\n\t\t\t\t...history.getLocationWithParams().params,\n\t\t\t\tpostId: undefined,\n\t\t\t} );\n\t\t}\n\t}, [ postIdWasDeleted, history ] );\n\n\tconst paginationInfo = useMemo(\n\t\t() => ( {\n\t\t\ttotalItems,\n\t\t\ttotalPages,\n\t\t} ),\n\t\t[ totalItems, totalPages ]\n\t);\n\n\tconst { labels, canCreateRecord } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getPostType, canUser } = select( coreStore );\n\t\t\treturn {\n\t\t\t\tlabels: getPostType( postType )?.labels,\n\t\t\t\tcanCreateRecord: canUser( 'create', {\n\t\t\t\t\tkind: 'postType',\n\t\t\t\t\tname: postType,\n\t\t\t\t} ),\n\t\t\t};\n\t\t},\n\t\t[ postType ]\n\t);\n\n\tconst postTypeActions = usePostActions( {\n\t\tpostType,\n\t\tcontext: 'list',\n\t} );\n\tconst editAction = useEditPostAction();\n\tconst actions = useMemo(\n\t\t() => [ editAction, ...postTypeActions ],\n\t\t[ postTypeActions, editAction ]\n\t);\n\n\tconst [ showAddPostModal, setShowAddPostModal ] = useState( false );\n\n\tconst openModal = () => setShowAddPostModal( true );\n\tconst closeModal = () => setShowAddPostModal( false );\n\tconst handleNewPage = ( { type, id } ) => {\n\t\thistory.push( {\n\t\t\tpostId: id,\n\t\t\tpostType: type,\n\t\t\tcanvas: 'edit',\n\t\t} );\n\t\tcloseModal();\n\t};\n\n\treturn (\n\t\t<Page\n\t\t\ttitle={ labels?.name }\n\t\t\tactions={\n\t\t\t\tlabels?.add_new_item &&\n\t\t\t\tcanCreateRecord && (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\tonClick={ openModal }\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ labels.add_new_item }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t{ showAddPostModal && (\n\t\t\t\t\t\t\t<AddNewPostModal\n\t\t\t\t\t\t\t\tpostType={ postType }\n\t\t\t\t\t\t\t\tonSave={ handleNewPage }\n\t\t\t\t\t\t\t\tonClose={ closeModal }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</>\n\t\t\t\t)\n\t\t\t}\n\t\t>\n\t\t\t<DataViews\n\t\t\t\tkey={ activeView + isCustom }\n\t\t\t\tpaginationInfo={ paginationInfo }\n\t\t\t\tfields={ fields }\n\t\t\t\tactions={ actions }\n\t\t\t\tdata={ data || EMPTY_ARRAY }\n\t\t\t\tisLoading={ isLoadingData || isLoadingFields }\n\t\t\t\tview={ view }\n\t\t\t\tonChangeView={ setView }\n\t\t\t\tselection={ selection }\n\t\t\t\tonChangeSelection={ onChangeSelection }\n\t\t\t\tisItemClickable={ ( item ) => item.status !== 'trash' }\n\t\t\t\tonClickItem={ ( { id } ) => {\n\t\t\t\t\thistory.push( {\n\t\t\t\t\t\tpostId: id,\n\t\t\t\t\t\tpostType,\n\t\t\t\t\t\tcanvas: 'edit',\n\t\t\t\t\t} );\n\t\t\t\t} }\n\t\t\t\tgetItemId={ getItemId }\n\t\t\t\tdefaultLayouts={ defaultLayouts }\n\t\t\t\theader={\n\t\t\t\t\twindow.__experimentalQuickEditDataViews &&\n\t\t\t\t\tview.type !== LAYOUT_LIST &&\n\t\t\t\t\tpostType === 'page' && (\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tsize=\"compact\"\n\t\t\t\t\t\t\tisPressed={ quickEdit }\n\t\t\t\t\t\t\ticon={ drawerRight }\n\t\t\t\t\t\t\tlabel={ __( 'Details' ) }\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\thistory.push( {\n\t\t\t\t\t\t\t\t\t...location.params,\n\t\t\t\t\t\t\t\t\tquickEdit: quickEdit ? undefined : true,\n\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t/>\n\t\t\t\t\t)\n\t\t\t\t}\n\t\t\t/>\n\t\t</Page>\n\t);\n}\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,MAAM,QAAQ,uBAAuB;AAC9C,SACCC,KAAK,IAAIC,SAAS,EAClBC,WAAW,IAAIC,mBAAmB,QAC5B,sBAAsB;AAC7B,SAASC,QAAQ,EAAEC,OAAO,EAAEC,WAAW,EAAEC,SAAS,QAAQ,oBAAoB;AAC9E,SAASL,WAAW,IAAIM,iBAAiB,QAAQ,mBAAmB;AACpE,SAASC,SAAS,EAAEC,WAAW,QAAQ,iBAAiB;AACxD,SAASC,SAAS,EAAEC,qBAAqB,QAAQ,sBAAsB;AACvE,SAASV,WAAW,IAAIW,iBAAiB,QAAQ,mBAAmB;AACpE,SAASC,EAAE,QAAQ,iBAAiB;AACpC,SAASC,WAAW,QAAQ,kBAAkB;;AAE9C;AACA;AACA;AACA,OAAOC,IAAI,MAAM,SAAS;AAC1B,SACCC,eAAe,EACfC,cAAc,QACR,oCAAoC;AAC3C,SACCC,eAAe,EACfC,gBAAgB,EAChBC,WAAW,QACL,uBAAuB;AAE9B,OAAOC,eAAe,MAAM,iBAAiB;AAC7C,SAASC,MAAM,QAAQ,mBAAmB;AAC1C,SAASC,iBAAiB,QAAQ,sBAAsB;AACxD,SAASC,WAAW,QAAQ,oBAAoB;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,QAAA,IAAAC,SAAA,EAAAC,IAAA,IAAAC,KAAA;AAEjD,MAAM;EAAEC,cAAc;EAAEC;AAAc,CAAC,GAAGV,MAAM,CAAEV,iBAAkB,CAAC;AACrE,MAAM;EAAEqB,WAAW;EAAEC;AAAW,CAAC,GAAGZ,MAAM,CAAEf,iBAAkB,CAAC;AAC/D,MAAM;EAAE4B;AAAgC,CAAC,GAAGb,MAAM,CAAEpB,mBAAoB,CAAC;AACzE,MAAMkC,WAAW,GAAG,EAAE;AAEtB,MAAMC,cAAc,GAAGA,CAAEC,YAAY,EAAEC,UAAU,KAAM;EACtD,OAAOD,YAAY,CAACE,IAAI,CAAE,CAAE;IAAEC;EAAK,CAAC,KAAMA,IAAI,KAAKF,UAAW,CAAC,EAAEG,IAAI;AACtE,CAAC;AAED,MAAMC,aAAa,GAAKC,kBAAkB,IAAM;EAC/C,IAAK,CAAEA,kBAAkB,EAAEC,OAAO,EAAG;IACpC,OAAOC,SAAS;EACjB;EAEA,MAAMD,OAAO,GAAGE,IAAI,CAACC,KAAK,CAAEJ,kBAAkB,CAACC,OAAQ,CAAC;EACxD,IAAK,CAAEA,OAAO,EAAG;IAChB,OAAOC,SAAS;EACjB;EAEA,OAAO;IACN,GAAGD,OAAO;IACVI,MAAM,EAAEhC,cAAc,CAAE4B,OAAO,CAACK,IAAI,CAAE,EAAED;EACzC,CAAC;AACF,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASE,OAAOA,CAAEC,QAAQ,EAAG;EAC5B,MAAM;IACLC,MAAM,EAAE;MAAEd,UAAU,GAAG,KAAK;MAAEe,QAAQ,GAAG,OAAO;MAAEL;IAAO;EAC1D,CAAC,GAAGhB,WAAW,CAAC,CAAC;EACjB,MAAMsB,OAAO,GAAGrB,UAAU,CAAC,CAAC;EAE5B,MAAMI,YAAY,GAAGtB,eAAe,CAAE;IAAEoC;EAAS,CAAE,CAAC;EACpD,MAAM;IAAEI;EAAiB,CAAC,GAAG/C,WAAW,CAAET,SAAU,CAAC;EACrD,MAAM4C,kBAAkB,GAAGpC,SAAS,CACjCiD,MAAM,IAAM;IACb,IAAKH,QAAQ,KAAK,MAAM,EAAG;MAC1B,OAAOR,SAAS;IACjB;IAEA,MAAM;MAAEY;IAAsB,CAAC,GAAGD,MAAM,CAAEzD,SAAU,CAAC;IACrD,OAAO0D,qBAAqB,CAC3B,UAAU,EACV,cAAc,EACdC,MAAM,CAAEpB,UAAW,CACpB,CAAC;EACF,CAAC,EACD,CAAEA,UAAU,EAAEe,QAAQ,CACvB,CAAC;EACD,MAAM,CAAEZ,IAAI,EAAEkB,OAAO,CAAE,GAAGzD,QAAQ,CAAE,MAAM;IACzC,IAAI0D,WAAW;IACf,IAAKP,QAAQ,KAAK,MAAM,EAAG;MAAA,IAAAQ,cAAA;MAC1BD,WAAW,IAAAC,cAAA,GAAGnB,aAAa,CAAEC,kBAAmB,CAAC,cAAAkB,cAAA,cAAAA,cAAA,GAAI;QACpDZ,IAAI,EAAED,MAAM,aAANA,MAAM,cAANA,MAAM,GAAI7B;MACjB,CAAC;IACF,CAAC,MAAM;MAAA,IAAA2C,eAAA;MACNF,WAAW,IAAAE,eAAA,GAAG1B,cAAc,CAAEC,YAAY,EAAEC,UAAW,CAAC,cAAAwB,eAAA,cAAAA,eAAA,GAAI;QAC3Db,IAAI,EAAED,MAAM,aAANA,MAAM,cAANA,MAAM,GAAI7B;MACjB,CAAC;IACF;IAEA,MAAM8B,IAAI,GAAGD,MAAM,aAANA,MAAM,cAANA,MAAM,GAAIY,WAAW,CAACX,IAAI;IACvC,OAAO;MACN,GAAGW,WAAW;MACdX;IACD,CAAC;EACF,CAAE,CAAC;EAEH,MAAMc,oBAAoB,GAAG3D,WAAW,CACrC4D,OAAO,IAAM;IACd,MAAM;MAAEZ;IAAO,CAAC,GAAGE,OAAO,CAACW,qBAAqB,CAAC,CAAC;IAElD,IAAKD,OAAO,CAACf,IAAI,KAAK9B,WAAW,IAAI,CAAEiC,MAAM,EAAEJ,MAAM,EAAG;MACvD;MACA;IAAA,CACA,MAAM,IAAKgB,OAAO,CAACf,IAAI,KAAKG,MAAM,EAAEJ,MAAM,EAAG;MAC7CM,OAAO,CAACY,IAAI,CAAE;QACb,GAAGd,MAAM;QACTJ,MAAM,EAAEgB,OAAO,CAACf;MACjB,CAAE,CAAC;IACJ;IAEAU,OAAO,CAAEK,OAAQ,CAAC;IAElB,IAAKX,QAAQ,KAAK,MAAM,IAAIV,kBAAkB,EAAEwB,EAAE,EAAG;MACpDZ,gBAAgB,CACf,UAAU,EACV,cAAc,EACdZ,kBAAkB,EAAEwB,EAAE,EACtB;QACCvB,OAAO,EAAEE,IAAI,CAACsB,SAAS,CAAEJ,OAAQ;MAClC,CACD,CAAC;IACF;EACD,CAAC,EACD,CAAEV,OAAO,EAAED,QAAQ,EAAEE,gBAAgB,EAAEZ,kBAAkB,EAAEwB,EAAE,CAC9D,CAAC;;EAED;EACA;EACA9D,SAAS,CAAE,MAAM;IAChBsD,OAAO,CAAIU,QAAQ,KAAQ;MAC1B,GAAGA,QAAQ;MACXpB,IAAI,EAAED,MAAM,aAANA,MAAM,cAANA,MAAM,GAAI7B;IACjB,CAAC,CAAG,CAAC;EACN,CAAC,EAAE,CAAE6B,MAAM,CAAG,CAAC;;EAEf;EACA3C,SAAS,CAAE,MAAM;IAChB,IAAI2D,OAAO;IACX,IAAKX,QAAQ,KAAK,MAAM,EAAG;MAC1BW,OAAO,GAAGtB,aAAa,CAAEC,kBAAmB,CAAC;IAC9C,CAAC,MAAM;MACNqB,OAAO,GAAG5B,cAAc,CAAEC,YAAY,EAAEC,UAAW,CAAC;IACrD;IAEA,IAAK0B,OAAO,EAAG;MACd,MAAMf,IAAI,GAAGD,MAAM,aAANA,MAAM,cAANA,MAAM,GAAIgB,OAAO,CAACf,IAAI;MACnCU,OAAO,CAAE;QACR,GAAGK,OAAO;QACVf;MACD,CAAE,CAAC;IACJ;EACD,CAAC,EAAE,CAAEX,UAAU,EAAEe,QAAQ,EAAEL,MAAM,EAAEX,YAAY,EAAEM,kBAAkB,CAAG,CAAC;EAEvE,OAAO,CAAEF,IAAI,EAAEsB,oBAAoB,EAAEA,oBAAoB,CAAE;AAC5D;AAEA,MAAMO,gBAAgB,GAAG,sCAAsC,CAAC,CAAC;;AAEjE,SAASC,SAASA,CAAEC,IAAI,EAAG;EAC1B,OAAOA,IAAI,CAACL,EAAE,CAACM,QAAQ,CAAC,CAAC;AAC1B;AAEA,eAAe,SAASC,QAAQA,CAAE;EAAEvB;AAAS,CAAC,EAAG;EAAA,IAAAwB,aAAA,EAAAC,SAAA,EAAAC,YAAA;EAChD,MAAM,CAAEpC,IAAI,EAAEkB,OAAO,CAAE,GAAGT,OAAO,CAAEC,QAAS,CAAC;EAC7C,MAAMd,YAAY,GAAGtB,eAAe,CAAE;IAAEoC;EAAS,CAAE,CAAC;EACpD,MAAMG,OAAO,GAAGrB,UAAU,CAAC,CAAC;EAC5B,MAAM6C,QAAQ,GAAG9C,WAAW,CAAC,CAAC;EAC9B,MAAM;IACL+C,MAAM;IACNC,SAAS,GAAG,KAAK;IACjB3B,QAAQ;IACRf,UAAU,GAAG;EACd,CAAC,GAAGwC,QAAQ,CAAC1B,MAAM;EACnB,MAAM,CAAE6B,SAAS,EAAEC,YAAY,CAAE,GAAGhF,QAAQ,EAAAyE,aAAA,GAAEI,MAAM,EAAEI,KAAK,CAAE,GAAI,CAAC,cAAAR,aAAA,cAAAA,aAAA,GAAI,EAAG,CAAC;EAC1E,MAAMS,iBAAiB,GAAGhF,WAAW,CAClCiF,KAAK,IAAM;IAAA,IAAAC,gBAAA;IACZJ,YAAY,CAAEG,KAAM,CAAC;IACrB,MAAM;MAAEjC;IAAO,CAAC,GAAGE,OAAO,CAACW,qBAAqB,CAAC,CAAC;IAClD,IAAK,EAAAqB,gBAAA,GAAElC,MAAM,CAACC,QAAQ,cAAAiC,gBAAA,cAAAA,gBAAA,GAAI,OAAO,MAAO,OAAO,EAAG;MACjDhC,OAAO,CAACY,IAAI,CAAE;QACb,GAAGd,MAAM;QACT2B,MAAM,EAAEM,KAAK,CAACE,IAAI,CAAE,GAAI;MACzB,CAAE,CAAC;IACJ;EACD,CAAC,EACD,CAAEjC,OAAO,CACV,CAAC;EAED,MAAMkC,oBAAoB,GAAGA,CAAEC,KAAK,EAAEC,KAAK,KAAM;IAAA,IAAAC,cAAA;IAChD,MAAMC,KAAK,GAAGH,KAAK,CAAClD,IAAI,CAAE,CAAE;MAAEC;IAAK,CAAC,KAAMA,IAAI,KAAKkD,KAAM,CAAC;IAC1D,QAAAC,cAAA,GAAOC,KAAK,EAAEC,OAAO,cAAAF,cAAA,cAAAA,cAAA,GAAI,EAAE;EAC5B,CAAC;EAED,MAAM;IAAEG,SAAS,EAAEC,eAAe;IAAEC,MAAM,EAAEC;EAAQ,CAAC,GAAGlE,aAAa,CAAC,CAAC;EACvE,MAAMiE,MAAM,GAAG7F,OAAO,CAAE,MAAM;IAC7B,MAAM+F,iBAAiB,GAAGV,oBAAoB,CAC7CnD,YAAY,EACZC,UACD,CAAC,CAAC6D,GAAG,CAAE,CAAE;MAAEC;IAAM,CAAC,KAAMA,KAAM,CAAC;IAC/B,OAAOH,OAAO,CAACE,GAAG,CAAIC,KAAK,KAAQ;MAClC,GAAGA,KAAK;MACRC,QAAQ,EAAEH,iBAAiB,CAACI,QAAQ,CAAEF,KAAK,CAACjC,EAAG,CAAC,GAC7C,EAAE,GACFiC,KAAK,CAACC;IACV,CAAC,CAAG,CAAC;EACN,CAAC,EAAE,CAAEJ,OAAO,EAAE5D,YAAY,EAAEC,UAAU,CAAG,CAAC;EAE1C,MAAMiE,SAAS,GAAGpG,OAAO,CAAE,MAAM;IAChC,MAAM0F,OAAO,GAAG,CAAC,CAAC;IAClBpD,IAAI,CAACoD,OAAO,EAAEW,OAAO,CAAIC,MAAM,IAAM;MACpC,IACCA,MAAM,CAACL,KAAK,KAAK,QAAQ,IACzBK,MAAM,CAACC,QAAQ,KAAKzF,eAAe,EAClC;QACD4E,OAAO,CAACc,MAAM,GAAGF,MAAM,CAACG,KAAK;MAC9B;MACA,IACCH,MAAM,CAACL,KAAK,KAAK,QAAQ,IACzBK,MAAM,CAACC,QAAQ,KAAKzF,eAAe,EAClC;QACD4E,OAAO,CAACgB,MAAM,GAAGJ,MAAM,CAACG,KAAK;MAC9B,CAAC,MAAM,IACNH,MAAM,CAACL,KAAK,KAAK,QAAQ,IACzBK,MAAM,CAACC,QAAQ,KAAKxF,gBAAgB,EACnC;QACD2E,OAAO,CAACiB,cAAc,GAAGL,MAAM,CAACG,KAAK;MACtC;IACD,CAAE,CAAC;;IAEH;IACA,MAAMV,iBAAiB,GAAGV,oBAAoB,CAC7CnD,YAAY,EACZC,UACD,CAAC;IACD4D,iBAAiB,CAACM,OAAO,CAAIC,MAAM,IAAM;MACxC,IACCA,MAAM,CAACL,KAAK,KAAK,QAAQ,IACzBK,MAAM,CAACC,QAAQ,KAAKzF,eAAe,EAClC;QACD4E,OAAO,CAACc,MAAM,GAAGF,MAAM,CAACG,KAAK;MAC9B;MACA,IACCH,MAAM,CAACL,KAAK,KAAK,QAAQ,IACzBK,MAAM,CAACC,QAAQ,KAAKzF,eAAe,EAClC;QACD4E,OAAO,CAACgB,MAAM,GAAGJ,MAAM,CAACG,KAAK;MAC9B,CAAC,MAAM,IACNH,MAAM,CAACL,KAAK,KAAK,QAAQ,IACzBK,MAAM,CAACC,QAAQ,KAAKxF,gBAAgB,EACnC;QACD2E,OAAO,CAACiB,cAAc,GAAGL,MAAM,CAACG,KAAK;MACtC;IACD,CAAE,CAAC;;IAEH;IACA;IACA,IAAK,CAAEf,OAAO,CAACc,MAAM,IAAId,OAAO,CAACc,MAAM,KAAK,EAAE,EAAG;MAChDd,OAAO,CAACc,MAAM,GAAGrC,gBAAgB;IAClC;IAEA,OAAO;MACNyC,QAAQ,EAAEtE,IAAI,CAACuE,OAAO;MACtBC,IAAI,EAAExE,IAAI,CAACwE,IAAI;MACfC,MAAM,EAAE,QAAQ;MAChBC,KAAK,EAAE1E,IAAI,CAAC2E,IAAI,EAAEC,SAAS;MAC3BC,OAAO,EAAE7E,IAAI,CAAC2E,IAAI,EAAEhB,KAAK;MACzBmB,MAAM,EAAE9E,IAAI,CAAC8E,MAAM;MACnB,GAAG1B;IACJ,CAAC;EACF,CAAC,EAAE,CAAEpD,IAAI,EAAEH,UAAU,EAAED,YAAY,CAAG,CAAC;EACvC,MAAM;IACLmF,OAAO;IACPC,WAAW,EAAEC,aAAa;IAC1BC,UAAU;IACVC;EACD,CAAC,GAAG1F,+BAA+B,CAAE,UAAU,EAAEiB,QAAQ,EAAEoD,SAAU,CAAC;;EAEtE;EACA,MAAMsB,IAAI,GAAG1H,OAAO,CAAE,MAAM;IAC3B,IAAK,CAAE4F,eAAe,IAAItD,IAAI,EAAE2E,IAAI,EAAEhB,KAAK,KAAK,QAAQ,EAAG;MAC1D,OAAO1F,qBAAqB,CAC3B8G,OAAO,EACP;QAAEJ,IAAI,EAAE;UAAE,GAAG3E,IAAI,CAAC2E;QAAK;MAAE,CAAC,EAC1BpB,MACD,CAAC,CAAC6B,IAAI;IACP;IAEA,OAAOL,OAAO;EACf,CAAC,EAAE,CAAEA,OAAO,EAAExB,MAAM,EAAED,eAAe,EAAEtD,IAAI,EAAE2E,IAAI,CAAG,CAAC;EAErD,MAAMU,GAAG,IAAAlD,SAAA,GAAGiD,IAAI,EAAE1B,GAAG,CAAI4B,MAAM,IAAMxD,SAAS,CAAEwD,MAAO,CAAE,CAAC,cAAAnD,SAAA,cAAAA,SAAA,GAAI,EAAE;EAChE,MAAMoD,OAAO,IAAAnD,YAAA,GAAGtD,WAAW,CAAEuG,GAAI,CAAC,cAAAjD,YAAA,cAAAA,YAAA,GAAI,EAAE;EACxC,MAAMoD,UAAU,GAAGD,OAAO,CAACvB,MAAM,CAAItC,EAAE,IAAM,CAAE2D,GAAG,CAACxB,QAAQ,CAAEnC,EAAG,CAAE,CAAC;EACnE,MAAM+D,gBAAgB,GAAGD,UAAU,CAAC3B,QAAQ,CAAEvB,MAAO,CAAC;EAEtD1E,SAAS,CAAE,MAAM;IAChB,IAAK6H,gBAAgB,EAAG;MACvB5E,OAAO,CAACY,IAAI,CAAE;QACb,GAAGZ,OAAO,CAACW,qBAAqB,CAAC,CAAC,CAACb,MAAM;QACzC2B,MAAM,EAAElC;MACT,CAAE,CAAC;IACJ;EACD,CAAC,EAAE,CAAEqF,gBAAgB,EAAE5E,OAAO,CAAG,CAAC;EAElC,MAAM6E,cAAc,GAAGhI,OAAO,CAC7B,OAAQ;IACPwH,UAAU;IACVC;EACD,CAAC,CAAE,EACH,CAAED,UAAU,EAAEC,UAAU,CACzB,CAAC;EAED,MAAM;IAAEQ,MAAM;IAAEC;EAAgB,CAAC,GAAG9H,SAAS,CAC1CiD,MAAM,IAAM;IACb,MAAM;MAAE8E,WAAW;MAAEC;IAAQ,CAAC,GAAG/E,MAAM,CAAEzD,SAAU,CAAC;IACpD,OAAO;MACNqI,MAAM,EAAEE,WAAW,CAAEnF,QAAS,CAAC,EAAEiF,MAAM;MACvCC,eAAe,EAAEE,OAAO,CAAE,QAAQ,EAAE;QACnCC,IAAI,EAAE,UAAU;QAChBC,IAAI,EAAEtF;MACP,CAAE;IACH,CAAC;EACF,CAAC,EACD,CAAEA,QAAQ,CACX,CAAC;EAED,MAAMuF,eAAe,GAAG5G,cAAc,CAAE;IACvCqB,QAAQ;IACRwF,OAAO,EAAE;EACV,CAAE,CAAC;EACH,MAAMC,UAAU,GAAGtH,iBAAiB,CAAC,CAAC;EACtC,MAAMuH,OAAO,GAAG1I,OAAO,CACtB,MAAM,CAAEyI,UAAU,EAAE,GAAGF,eAAe,CAAE,EACxC,CAAEA,eAAe,EAAEE,UAAU,CAC9B,CAAC;EAED,MAAM,CAAEE,gBAAgB,EAAEC,mBAAmB,CAAE,GAAG7I,QAAQ,CAAE,KAAM,CAAC;EAEnE,MAAM8I,SAAS,GAAGA,CAAA,KAAMD,mBAAmB,CAAE,IAAK,CAAC;EACnD,MAAME,UAAU,GAAGA,CAAA,KAAMF,mBAAmB,CAAE,KAAM,CAAC;EACrD,MAAMG,aAAa,GAAGA,CAAE;IAAEjG,IAAI;IAAEkB;EAAG,CAAC,KAAM;IACzCb,OAAO,CAACY,IAAI,CAAE;MACba,MAAM,EAAEZ,EAAE;MACVhB,QAAQ,EAAEF,IAAI;MACdkG,MAAM,EAAE;IACT,CAAE,CAAC;IACHF,UAAU,CAAC,CAAC;EACb,CAAC;EAED,oBACCxH,IAAA,CAACX,IAAI;IACJsI,KAAK,EAAGhB,MAAM,EAAEK,IAAM;IACtBI,OAAO,EACNT,MAAM,EAAEiB,YAAY,IACpBhB,eAAe,iBACdxG,KAAA,CAAAF,SAAA;MAAA2H,QAAA,gBACC7H,IAAA,CAAC5B,MAAM;QACN0J,OAAO,EAAC,SAAS;QACjBC,OAAO,EAAGR,SAAW;QACrBS,qBAAqB;QAAAH,QAAA,EAEnBlB,MAAM,CAACiB;MAAY,CACd,CAAC,EACPP,gBAAgB,iBACjBrH,IAAA,CAACL,eAAe;QACf+B,QAAQ,EAAGA,QAAU;QACrBuG,MAAM,EAAGR,aAAe;QACxBS,OAAO,EAAGV;MAAY,CACtB,CACD;IAAA,CACA,CAEH;IAAAK,QAAA,eAED7H,IAAA,CAAChB,SAAS;MAET0H,cAAc,EAAGA,cAAgB;MACjCnC,MAAM,EAAGA,MAAQ;MACjB6C,OAAO,EAAGA,OAAS;MACnBhB,IAAI,EAAGA,IAAI,IAAI1F,WAAa;MAC5B2D,SAAS,EAAG4B,aAAa,IAAI3B,eAAiB;MAC9CtD,IAAI,EAAGA,IAAM;MACbmH,YAAY,EAAGjG,OAAS;MACxBsB,SAAS,EAAGA,SAAW;MACvBG,iBAAiB,EAAGA,iBAAmB;MACvCyE,eAAe,EAAKrF,IAAI,IAAMA,IAAI,CAACmC,MAAM,KAAK,OAAS;MACvDmD,WAAW,EAAGA,CAAE;QAAE3F;MAAG,CAAC,KAAM;QAC3Bb,OAAO,CAACY,IAAI,CAAE;UACba,MAAM,EAAEZ,EAAE;UACVhB,QAAQ;UACRgG,MAAM,EAAE;QACT,CAAE,CAAC;MACJ,CAAG;MACH5E,SAAS,EAAGA,SAAW;MACvBvD,cAAc,EAAGA,cAAgB;MACjC+I,MAAM,EACLC,MAAM,CAACC,gCAAgC,IACvCxH,IAAI,CAACQ,IAAI,KAAK9B,WAAW,IACzBgC,QAAQ,KAAK,MAAM,iBAClB1B,IAAA,CAAC5B,MAAM;QACNqK,IAAI,EAAC,SAAS;QACdC,SAAS,EAAGnF,SAAW;QACvBoF,IAAI,EAAGvJ,WAAa;QACpBwJ,KAAK,EAAGzJ,EAAE,CAAE,SAAU,CAAG;QACzB4I,OAAO,EAAGA,CAAA,KAAM;UACflG,OAAO,CAACY,IAAI,CAAE;YACb,GAAGY,QAAQ,CAAC1B,MAAM;YAClB4B,SAAS,EAAEA,SAAS,GAAGnC,SAAS,GAAG;UACpC,CAAE,CAAC;QACJ;MAAG,CACH;IAEF,GArCKP,UAAU,GAAGe,QAsCnB;EAAC,CACG,CAAC;AAET","ignoreList":[]}
@@ -7,10 +7,10 @@ import { privateApis as routerPrivateApis } from '@wordpress/router';
7
7
  /**
8
8
  * Internal dependencies
9
9
  */
10
- import useInitEditedEntityFromURL from '../sync-state-with-url/use-init-edited-entity-from-url';
11
10
  import Layout from '../layout';
12
- import useActiveRoute from './router';
11
+ import { useRegisterPostsAppRoutes } from '../posts-app-routes';
13
12
  import { unlock } from '../../lock-unlock';
13
+ import useActiveRoute from '../layout/router';
14
14
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
15
15
  const {
16
16
  RouterProvider
@@ -19,8 +19,7 @@ const {
19
19
  GlobalStylesProvider
20
20
  } = unlock(editorPrivateApis);
21
21
  function PostsLayout() {
22
- // This ensures the edited entity id and type are initialized properly.
23
- useInitEditedEntityFromURL();
22
+ useRegisterPostsAppRoutes();
24
23
  const route = useActiveRoute();
25
24
  return /*#__PURE__*/_jsx(Layout, {
26
25
  route: route
@@ -1 +1 @@
1
- {"version":3,"names":["UnsavedChangesWarning","privateApis","editorPrivateApis","routerPrivateApis","useInitEditedEntityFromURL","Layout","useActiveRoute","unlock","jsx","_jsx","jsxs","_jsxs","RouterProvider","GlobalStylesProvider","PostsLayout","route","PostsApp","children"],"sources":["@wordpress/edit-site/src/components/posts-app/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tUnsavedChangesWarning,\n\tprivateApis as editorPrivateApis,\n} from '@wordpress/editor';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\n\n/**\n * Internal dependencies\n */\nimport useInitEditedEntityFromURL from '../sync-state-with-url/use-init-edited-entity-from-url';\nimport Layout from '../layout';\nimport useActiveRoute from './router';\nimport { unlock } from '../../lock-unlock';\n\nconst { RouterProvider } = unlock( routerPrivateApis );\nconst { GlobalStylesProvider } = unlock( editorPrivateApis );\n\nfunction PostsLayout() {\n\t// This ensures the edited entity id and type are initialized properly.\n\tuseInitEditedEntityFromURL();\n\tconst route = useActiveRoute();\n\treturn <Layout route={ route } />;\n}\n\nexport default function PostsApp() {\n\treturn (\n\t\t<GlobalStylesProvider>\n\t\t\t<UnsavedChangesWarning />\n\t\t\t<RouterProvider>\n\t\t\t\t<PostsLayout />\n\t\t\t</RouterProvider>\n\t\t</GlobalStylesProvider>\n\t);\n}\n"],"mappings":"AAAA;AACA;AACA;AACA,SACCA,qBAAqB,EACrBC,WAAW,IAAIC,iBAAiB,QAC1B,mBAAmB;AAC1B,SAASD,WAAW,IAAIE,iBAAiB,QAAQ,mBAAmB;;AAEpE;AACA;AACA;AACA,OAAOC,0BAA0B,MAAM,wDAAwD;AAC/F,OAAOC,MAAM,MAAM,WAAW;AAC9B,OAAOC,cAAc,MAAM,UAAU;AACrC,SAASC,MAAM,QAAQ,mBAAmB;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAE3C,MAAM;EAAEC;AAAe,CAAC,GAAGL,MAAM,CAAEJ,iBAAkB,CAAC;AACtD,MAAM;EAAEU;AAAqB,CAAC,GAAGN,MAAM,CAAEL,iBAAkB,CAAC;AAE5D,SAASY,WAAWA,CAAA,EAAG;EACtB;EACAV,0BAA0B,CAAC,CAAC;EAC5B,MAAMW,KAAK,GAAGT,cAAc,CAAC,CAAC;EAC9B,oBAAOG,IAAA,CAACJ,MAAM;IAACU,KAAK,EAAGA;EAAO,CAAE,CAAC;AAClC;AAEA,eAAe,SAASC,QAAQA,CAAA,EAAG;EAClC,oBACCL,KAAA,CAACE,oBAAoB;IAAAI,QAAA,gBACpBR,IAAA,CAACT,qBAAqB,IAAE,CAAC,eACzBS,IAAA,CAACG,cAAc;MAAAK,QAAA,eACdR,IAAA,CAACK,WAAW,IAAE;IAAC,CACA,CAAC;EAAA,CACI,CAAC;AAEzB","ignoreList":[]}
1
+ {"version":3,"names":["UnsavedChangesWarning","privateApis","editorPrivateApis","routerPrivateApis","Layout","useRegisterPostsAppRoutes","unlock","useActiveRoute","jsx","_jsx","jsxs","_jsxs","RouterProvider","GlobalStylesProvider","PostsLayout","route","PostsApp","children"],"sources":["@wordpress/edit-site/src/components/posts-app/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tUnsavedChangesWarning,\n\tprivateApis as editorPrivateApis,\n} from '@wordpress/editor';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\n\n/**\n * Internal dependencies\n */\nimport Layout from '../layout';\nimport { useRegisterPostsAppRoutes } from '../posts-app-routes';\nimport { unlock } from '../../lock-unlock';\nimport useActiveRoute from '../layout/router';\n\nconst { RouterProvider } = unlock( routerPrivateApis );\nconst { GlobalStylesProvider } = unlock( editorPrivateApis );\n\nfunction PostsLayout() {\n\tuseRegisterPostsAppRoutes();\n\tconst route = useActiveRoute();\n\treturn <Layout route={ route } />;\n}\n\nexport default function PostsApp() {\n\treturn (\n\t\t<GlobalStylesProvider>\n\t\t\t<UnsavedChangesWarning />\n\t\t\t<RouterProvider>\n\t\t\t\t<PostsLayout />\n\t\t\t</RouterProvider>\n\t\t</GlobalStylesProvider>\n\t);\n}\n"],"mappings":"AAAA;AACA;AACA;AACA,SACCA,qBAAqB,EACrBC,WAAW,IAAIC,iBAAiB,QAC1B,mBAAmB;AAC1B,SAASD,WAAW,IAAIE,iBAAiB,QAAQ,mBAAmB;;AAEpE;AACA;AACA;AACA,OAAOC,MAAM,MAAM,WAAW;AAC9B,SAASC,yBAAyB,QAAQ,qBAAqB;AAC/D,SAASC,MAAM,QAAQ,mBAAmB;AAC1C,OAAOC,cAAc,MAAM,kBAAkB;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAE9C,MAAM;EAAEC;AAAe,CAAC,GAAGN,MAAM,CAAEH,iBAAkB,CAAC;AACtD,MAAM;EAAEU;AAAqB,CAAC,GAAGP,MAAM,CAAEJ,iBAAkB,CAAC;AAE5D,SAASY,WAAWA,CAAA,EAAG;EACtBT,yBAAyB,CAAC,CAAC;EAC3B,MAAMU,KAAK,GAAGR,cAAc,CAAC,CAAC;EAC9B,oBAAOE,IAAA,CAACL,MAAM;IAACW,KAAK,EAAGA;EAAO,CAAE,CAAC;AAClC;AAEA,eAAe,SAASC,QAAQA,CAAA,EAAG;EAClC,oBACCL,KAAA,CAACE,oBAAoB;IAAAI,QAAA,gBACpBR,IAAA,CAACT,qBAAqB,IAAE,CAAC,eACzBS,IAAA,CAACG,cAAc;MAAAK,QAAA,eACdR,IAAA,CAACK,WAAW,IAAE;IAAC,CACA,CAAC;EAAA,CACI,CAAC;AAEzB","ignoreList":[]}
@@ -0,0 +1,40 @@
1
+ /**
2
+ * WordPress dependencies
3
+ */
4
+ import { privateApis as routerPrivateApis } from '@wordpress/router';
5
+
6
+ /**
7
+ * Internal dependencies
8
+ */
9
+ import Editor from '../editor';
10
+ import SidebarNavigationScreenMain from '../sidebar-navigation-screen-main';
11
+ import { unlock } from '../../lock-unlock';
12
+ import { jsx as _jsx } from "react/jsx-runtime";
13
+ const {
14
+ useLocation
15
+ } = unlock(routerPrivateApis);
16
+ function HomeMobileView() {
17
+ const {
18
+ params = {}
19
+ } = useLocation();
20
+ const {
21
+ canvas = 'view'
22
+ } = params;
23
+ return canvas === 'edit' ? /*#__PURE__*/_jsx(Editor, {
24
+ isPostsList: true
25
+ }) : /*#__PURE__*/_jsx(SidebarNavigationScreenMain, {});
26
+ }
27
+ export const homeRoute = {
28
+ name: 'home',
29
+ match: () => {
30
+ return true;
31
+ },
32
+ areas: {
33
+ sidebar: /*#__PURE__*/_jsx(SidebarNavigationScreenMain, {}),
34
+ preview: /*#__PURE__*/_jsx(Editor, {
35
+ isPostsList: true
36
+ }),
37
+ mobile: HomeMobileView
38
+ }
39
+ };
40
+ //# sourceMappingURL=home.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["privateApis","routerPrivateApis","Editor","SidebarNavigationScreenMain","unlock","jsx","_jsx","useLocation","HomeMobileView","params","canvas","isPostsList","homeRoute","name","match","areas","sidebar","preview","mobile"],"sources":["@wordpress/edit-site/src/components/posts-app-routes/home.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\n\n/**\n * Internal dependencies\n */\nimport Editor from '../editor';\nimport SidebarNavigationScreenMain from '../sidebar-navigation-screen-main';\nimport { unlock } from '../../lock-unlock';\n\nconst { useLocation } = unlock( routerPrivateApis );\n\nfunction HomeMobileView() {\n\tconst { params = {} } = useLocation();\n\tconst { canvas = 'view' } = params;\n\n\treturn canvas === 'edit' ? (\n\t\t<Editor isPostsList />\n\t) : (\n\t\t<SidebarNavigationScreenMain />\n\t);\n}\n\nexport const homeRoute = {\n\tname: 'home',\n\tmatch: () => {\n\t\treturn true;\n\t},\n\tareas: {\n\t\tsidebar: <SidebarNavigationScreenMain />,\n\t\tpreview: <Editor isPostsList />,\n\t\tmobile: HomeMobileView,\n\t},\n};\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,WAAW,IAAIC,iBAAiB,QAAQ,mBAAmB;;AAEpE;AACA;AACA;AACA,OAAOC,MAAM,MAAM,WAAW;AAC9B,OAAOC,2BAA2B,MAAM,mCAAmC;AAC3E,SAASC,MAAM,QAAQ,mBAAmB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAE3C,MAAM;EAAEC;AAAY,CAAC,GAAGH,MAAM,CAAEH,iBAAkB,CAAC;AAEnD,SAASO,cAAcA,CAAA,EAAG;EACzB,MAAM;IAAEC,MAAM,GAAG,CAAC;EAAE,CAAC,GAAGF,WAAW,CAAC,CAAC;EACrC,MAAM;IAAEG,MAAM,GAAG;EAAO,CAAC,GAAGD,MAAM;EAElC,OAAOC,MAAM,KAAK,MAAM,gBACvBJ,IAAA,CAACJ,MAAM;IAACS,WAAW;EAAA,CAAE,CAAC,gBAEtBL,IAAA,CAACH,2BAA2B,IAAE,CAC9B;AACF;AAEA,OAAO,MAAMS,SAAS,GAAG;EACxBC,IAAI,EAAE,MAAM;EACZC,KAAK,EAAEA,CAAA,KAAM;IACZ,OAAO,IAAI;EACZ,CAAC;EACDC,KAAK,EAAE;IACNC,OAAO,eAAEV,IAAA,CAACH,2BAA2B,IAAE,CAAC;IACxCc,OAAO,eAAEX,IAAA,CAACJ,MAAM;MAACS,WAAW;IAAA,CAAE,CAAC;IAC/BO,MAAM,EAAEV;EACT;AACD,CAAC","ignoreList":[]}
@@ -0,0 +1,30 @@
1
+ /**
2
+ * WordPress dependencies
3
+ */
4
+ import { useRegistry, useDispatch } from '@wordpress/data';
5
+ import { useEffect } from '@wordpress/element';
6
+
7
+ /**
8
+ * Internal dependencies
9
+ */
10
+ import { unlock } from '../../lock-unlock';
11
+ import { store as siteEditorStore } from '../../store';
12
+ import { homeRoute } from './home';
13
+ import { postsListViewQuickEditRoute } from './posts-list-view-quick-edit';
14
+ import { postsListViewRoute } from './posts-list-view';
15
+ import { postsViewQuickEditRoute } from './posts-view-quick-edit';
16
+ import { postsViewRoute } from './posts-view';
17
+ import { postsEditRoute } from './posts-edit';
18
+ const routes = [postsListViewQuickEditRoute, postsListViewRoute, postsViewQuickEditRoute, postsViewRoute, postsEditRoute, homeRoute];
19
+ export function useRegisterPostsAppRoutes() {
20
+ const registry = useRegistry();
21
+ const {
22
+ registerRoute
23
+ } = unlock(useDispatch(siteEditorStore));
24
+ useEffect(() => {
25
+ registry.batch(() => {
26
+ routes.forEach(registerRoute);
27
+ });
28
+ }, [registry, registerRoute]);
29
+ }
30
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useRegistry","useDispatch","useEffect","unlock","store","siteEditorStore","homeRoute","postsListViewQuickEditRoute","postsListViewRoute","postsViewQuickEditRoute","postsViewRoute","postsEditRoute","routes","useRegisterPostsAppRoutes","registry","registerRoute","batch","forEach"],"sources":["@wordpress/edit-site/src/components/posts-app-routes/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useRegistry, useDispatch } from '@wordpress/data';\nimport { useEffect } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../lock-unlock';\nimport { store as siteEditorStore } from '../../store';\nimport { homeRoute } from './home';\nimport { postsListViewQuickEditRoute } from './posts-list-view-quick-edit';\nimport { postsListViewRoute } from './posts-list-view';\nimport { postsViewQuickEditRoute } from './posts-view-quick-edit';\nimport { postsViewRoute } from './posts-view';\nimport { postsEditRoute } from './posts-edit';\n\nconst routes = [\n\tpostsListViewQuickEditRoute,\n\tpostsListViewRoute,\n\tpostsViewQuickEditRoute,\n\tpostsViewRoute,\n\tpostsEditRoute,\n\thomeRoute,\n];\n\nexport function useRegisterPostsAppRoutes() {\n\tconst registry = useRegistry();\n\tconst { registerRoute } = unlock( useDispatch( siteEditorStore ) );\n\tuseEffect( () => {\n\t\tregistry.batch( () => {\n\t\t\troutes.forEach( registerRoute );\n\t\t} );\n\t}, [ registry, registerRoute ] );\n}\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,WAAW,EAAEC,WAAW,QAAQ,iBAAiB;AAC1D,SAASC,SAAS,QAAQ,oBAAoB;;AAE9C;AACA;AACA;AACA,SAASC,MAAM,QAAQ,mBAAmB;AAC1C,SAASC,KAAK,IAAIC,eAAe,QAAQ,aAAa;AACtD,SAASC,SAAS,QAAQ,QAAQ;AAClC,SAASC,2BAA2B,QAAQ,8BAA8B;AAC1E,SAASC,kBAAkB,QAAQ,mBAAmB;AACtD,SAASC,uBAAuB,QAAQ,yBAAyB;AACjE,SAASC,cAAc,QAAQ,cAAc;AAC7C,SAASC,cAAc,QAAQ,cAAc;AAE7C,MAAMC,MAAM,GAAG,CACdL,2BAA2B,EAC3BC,kBAAkB,EAClBC,uBAAuB,EACvBC,cAAc,EACdC,cAAc,EACdL,SAAS,CACT;AAED,OAAO,SAASO,yBAAyBA,CAAA,EAAG;EAC3C,MAAMC,QAAQ,GAAGd,WAAW,CAAC,CAAC;EAC9B,MAAM;IAAEe;EAAc,CAAC,GAAGZ,MAAM,CAAEF,WAAW,CAAEI,eAAgB,CAAE,CAAC;EAClEH,SAAS,CAAE,MAAM;IAChBY,QAAQ,CAACE,KAAK,CAAE,MAAM;MACrBJ,MAAM,CAACK,OAAO,CAAEF,aAAc,CAAC;IAChC,CAAE,CAAC;EACJ,CAAC,EAAE,CAAED,QAAQ,EAAEC,aAAa,CAAG,CAAC;AACjC","ignoreList":[]}
@@ -0,0 +1,36 @@
1
+ /**
2
+ * WordPress dependencies
3
+ */
4
+ import { __ } from '@wordpress/i18n';
5
+
6
+ /**
7
+ * Internal dependencies
8
+ */
9
+ import PostList from '../post-list';
10
+ import DataViewsSidebarContent from '../sidebar-dataviews';
11
+ import SidebarNavigationScreen from '../sidebar-navigation-screen';
12
+ import Editor from '../editor';
13
+ import { jsx as _jsx } from "react/jsx-runtime";
14
+ export const postsEditRoute = {
15
+ name: 'posts-edit',
16
+ match: params => {
17
+ return params.postType === 'post' && params.canvas === 'edit';
18
+ },
19
+ areas: {
20
+ sidebar: /*#__PURE__*/_jsx(SidebarNavigationScreen, {
21
+ title: __('Posts'),
22
+ isRoot: true,
23
+ content: /*#__PURE__*/_jsx(DataViewsSidebarContent, {})
24
+ }),
25
+ content: /*#__PURE__*/_jsx(PostList, {
26
+ postType: "post"
27
+ }),
28
+ mobile: /*#__PURE__*/_jsx(Editor, {
29
+ isPostsList: true
30
+ }),
31
+ preview: /*#__PURE__*/_jsx(Editor, {
32
+ isPostsList: true
33
+ })
34
+ }
35
+ };
36
+ //# sourceMappingURL=posts-edit.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["__","PostList","DataViewsSidebarContent","SidebarNavigationScreen","Editor","jsx","_jsx","postsEditRoute","name","match","params","postType","canvas","areas","sidebar","title","isRoot","content","mobile","isPostsList","preview"],"sources":["@wordpress/edit-site/src/components/posts-app-routes/posts-edit.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport PostList from '../post-list';\nimport DataViewsSidebarContent from '../sidebar-dataviews';\nimport SidebarNavigationScreen from '../sidebar-navigation-screen';\nimport Editor from '../editor';\n\nexport const postsEditRoute = {\n\tname: 'posts-edit',\n\tmatch: ( params ) => {\n\t\treturn params.postType === 'post' && params.canvas === 'edit';\n\t},\n\tareas: {\n\t\tsidebar: (\n\t\t\t<SidebarNavigationScreen\n\t\t\t\ttitle={ __( 'Posts' ) }\n\t\t\t\tisRoot\n\t\t\t\tcontent={ <DataViewsSidebarContent /> }\n\t\t\t/>\n\t\t),\n\t\tcontent: <PostList postType=\"post\" />,\n\t\tmobile: <Editor isPostsList />,\n\t\tpreview: <Editor isPostsList />,\n\t},\n};\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,EAAE,QAAQ,iBAAiB;;AAEpC;AACA;AACA;AACA,OAAOC,QAAQ,MAAM,cAAc;AACnC,OAAOC,uBAAuB,MAAM,sBAAsB;AAC1D,OAAOC,uBAAuB,MAAM,8BAA8B;AAClE,OAAOC,MAAM,MAAM,WAAW;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAE/B,OAAO,MAAMC,cAAc,GAAG;EAC7BC,IAAI,EAAE,YAAY;EAClBC,KAAK,EAAIC,MAAM,IAAM;IACpB,OAAOA,MAAM,CAACC,QAAQ,KAAK,MAAM,IAAID,MAAM,CAACE,MAAM,KAAK,MAAM;EAC9D,CAAC;EACDC,KAAK,EAAE;IACNC,OAAO,eACNR,IAAA,CAACH,uBAAuB;MACvBY,KAAK,EAAGf,EAAE,CAAE,OAAQ,CAAG;MACvBgB,MAAM;MACNC,OAAO,eAAGX,IAAA,CAACJ,uBAAuB,IAAE;IAAG,CACvC,CACD;IACDe,OAAO,eAAEX,IAAA,CAACL,QAAQ;MAACU,QAAQ,EAAC;IAAM,CAAE,CAAC;IACrCO,MAAM,eAAEZ,IAAA,CAACF,MAAM;MAACe,WAAW;IAAA,CAAE,CAAC;IAC9BC,OAAO,eAAEd,IAAA,CAACF,MAAM;MAACe,WAAW;IAAA,CAAE;EAC/B;AACD,CAAC","ignoreList":[]}
@@ -0,0 +1,55 @@
1
+ /**
2
+ * WordPress dependencies
3
+ */
4
+ import { __ } from '@wordpress/i18n';
5
+ import { privateApis as routerPrivateApis } from '@wordpress/router';
6
+
7
+ /**
8
+ * Internal dependencies
9
+ */
10
+ import PostList from '../post-list';
11
+ import DataViewsSidebarContent from '../sidebar-dataviews';
12
+ import SidebarNavigationScreen from '../sidebar-navigation-screen';
13
+ import { unlock } from '../../lock-unlock';
14
+ import { PostEdit } from '../post-edit';
15
+ import Editor from '../editor';
16
+ import { jsx as _jsx } from "react/jsx-runtime";
17
+ const {
18
+ useLocation
19
+ } = unlock(routerPrivateApis);
20
+ function PostQuickEdit() {
21
+ const {
22
+ params
23
+ } = useLocation();
24
+ return /*#__PURE__*/_jsx(PostEdit, {
25
+ postType: "post",
26
+ postId: params.postId
27
+ });
28
+ }
29
+ export const postsListViewQuickEditRoute = {
30
+ name: 'posts-list-view-quick-edit',
31
+ match: params => {
32
+ var _params$layout;
33
+ return params.isCustom !== 'true' && ((_params$layout = params.layout) !== null && _params$layout !== void 0 ? _params$layout : 'list') === 'list' && !!params.quickEdit && params.postType === 'post' && params.canvas !== 'edit';
34
+ },
35
+ areas: {
36
+ sidebar: /*#__PURE__*/_jsx(SidebarNavigationScreen, {
37
+ title: __('Posts'),
38
+ isRoot: true,
39
+ content: /*#__PURE__*/_jsx(DataViewsSidebarContent, {})
40
+ }),
41
+ content: /*#__PURE__*/_jsx(PostList, {
42
+ postType: "post"
43
+ }),
44
+ mobile: /*#__PURE__*/_jsx(PostList, {
45
+ postType: "post"
46
+ }),
47
+ preview: /*#__PURE__*/_jsx(Editor, {}),
48
+ edit: /*#__PURE__*/_jsx(PostQuickEdit, {})
49
+ },
50
+ widths: {
51
+ content: 380,
52
+ edit: 380
53
+ }
54
+ };
55
+ //# sourceMappingURL=posts-list-view-quick-edit.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["__","privateApis","routerPrivateApis","PostList","DataViewsSidebarContent","SidebarNavigationScreen","unlock","PostEdit","Editor","jsx","_jsx","useLocation","PostQuickEdit","params","postType","postId","postsListViewQuickEditRoute","name","match","_params$layout","isCustom","layout","quickEdit","canvas","areas","sidebar","title","isRoot","content","mobile","preview","edit","widths"],"sources":["@wordpress/edit-site/src/components/posts-app-routes/posts-list-view-quick-edit.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\n\n/**\n * Internal dependencies\n */\nimport PostList from '../post-list';\nimport DataViewsSidebarContent from '../sidebar-dataviews';\nimport SidebarNavigationScreen from '../sidebar-navigation-screen';\nimport { unlock } from '../../lock-unlock';\nimport { PostEdit } from '../post-edit';\nimport Editor from '../editor';\n\nconst { useLocation } = unlock( routerPrivateApis );\n\nfunction PostQuickEdit() {\n\tconst { params } = useLocation();\n\treturn <PostEdit postType=\"post\" postId={ params.postId } />;\n}\n\nexport const postsListViewQuickEditRoute = {\n\tname: 'posts-list-view-quick-edit',\n\tmatch: ( params ) => {\n\t\treturn (\n\t\t\tparams.isCustom !== 'true' &&\n\t\t\t( params.layout ?? 'list' ) === 'list' &&\n\t\t\t!! params.quickEdit &&\n\t\t\tparams.postType === 'post' &&\n\t\t\tparams.canvas !== 'edit'\n\t\t);\n\t},\n\tareas: {\n\t\tsidebar: (\n\t\t\t<SidebarNavigationScreen\n\t\t\t\ttitle={ __( 'Posts' ) }\n\t\t\t\tisRoot\n\t\t\t\tcontent={ <DataViewsSidebarContent /> }\n\t\t\t/>\n\t\t),\n\t\tcontent: <PostList postType=\"post\" />,\n\t\tmobile: <PostList postType=\"post\" />,\n\t\tpreview: <Editor />,\n\t\tedit: <PostQuickEdit />,\n\t},\n\twidths: {\n\t\tcontent: 380,\n\t\tedit: 380,\n\t},\n};\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,EAAE,QAAQ,iBAAiB;AACpC,SAASC,WAAW,IAAIC,iBAAiB,QAAQ,mBAAmB;;AAEpE;AACA;AACA;AACA,OAAOC,QAAQ,MAAM,cAAc;AACnC,OAAOC,uBAAuB,MAAM,sBAAsB;AAC1D,OAAOC,uBAAuB,MAAM,8BAA8B;AAClE,SAASC,MAAM,QAAQ,mBAAmB;AAC1C,SAASC,QAAQ,QAAQ,cAAc;AACvC,OAAOC,MAAM,MAAM,WAAW;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAE/B,MAAM;EAAEC;AAAY,CAAC,GAAGL,MAAM,CAAEJ,iBAAkB,CAAC;AAEnD,SAASU,aAAaA,CAAA,EAAG;EACxB,MAAM;IAAEC;EAAO,CAAC,GAAGF,WAAW,CAAC,CAAC;EAChC,oBAAOD,IAAA,CAACH,QAAQ;IAACO,QAAQ,EAAC,MAAM;IAACC,MAAM,EAAGF,MAAM,CAACE;EAAQ,CAAE,CAAC;AAC7D;AAEA,OAAO,MAAMC,2BAA2B,GAAG;EAC1CC,IAAI,EAAE,4BAA4B;EAClCC,KAAK,EAAIL,MAAM,IAAM;IAAA,IAAAM,cAAA;IACpB,OACCN,MAAM,CAACO,QAAQ,KAAK,MAAM,IAC1B,EAAAD,cAAA,GAAEN,MAAM,CAACQ,MAAM,cAAAF,cAAA,cAAAA,cAAA,GAAI,MAAM,MAAO,MAAM,IACtC,CAAC,CAAEN,MAAM,CAACS,SAAS,IACnBT,MAAM,CAACC,QAAQ,KAAK,MAAM,IAC1BD,MAAM,CAACU,MAAM,KAAK,MAAM;EAE1B,CAAC;EACDC,KAAK,EAAE;IACNC,OAAO,eACNf,IAAA,CAACL,uBAAuB;MACvBqB,KAAK,EAAG1B,EAAE,CAAE,OAAQ,CAAG;MACvB2B,MAAM;MACNC,OAAO,eAAGlB,IAAA,CAACN,uBAAuB,IAAE;IAAG,CACvC,CACD;IACDwB,OAAO,eAAElB,IAAA,CAACP,QAAQ;MAACW,QAAQ,EAAC;IAAM,CAAE,CAAC;IACrCe,MAAM,eAAEnB,IAAA,CAACP,QAAQ;MAACW,QAAQ,EAAC;IAAM,CAAE,CAAC;IACpCgB,OAAO,eAAEpB,IAAA,CAACF,MAAM,IAAE,CAAC;IACnBuB,IAAI,eAAErB,IAAA,CAACE,aAAa,IAAE;EACvB,CAAC;EACDoB,MAAM,EAAE;IACPJ,OAAO,EAAE,GAAG;IACZG,IAAI,EAAE;EACP;AACD,CAAC","ignoreList":[]}
@@ -0,0 +1,40 @@
1
+ /**
2
+ * WordPress dependencies
3
+ */
4
+ import { __ } from '@wordpress/i18n';
5
+
6
+ /**
7
+ * Internal dependencies
8
+ */
9
+ import PostList from '../post-list';
10
+ import DataViewsSidebarContent from '../sidebar-dataviews';
11
+ import SidebarNavigationScreen from '../sidebar-navigation-screen';
12
+ import Editor from '../editor';
13
+ import { jsx as _jsx } from "react/jsx-runtime";
14
+ export const postsListViewRoute = {
15
+ name: 'posts-list-view',
16
+ match: params => {
17
+ var _params$layout;
18
+ return params.isCustom !== 'true' && ((_params$layout = params.layout) !== null && _params$layout !== void 0 ? _params$layout : 'list') === 'list' && !params.quickEdit && params.postType === 'post' && params.canvas !== 'edit';
19
+ },
20
+ areas: {
21
+ sidebar: /*#__PURE__*/_jsx(SidebarNavigationScreen, {
22
+ title: __('Posts'),
23
+ isRoot: true,
24
+ content: /*#__PURE__*/_jsx(DataViewsSidebarContent, {})
25
+ }),
26
+ content: /*#__PURE__*/_jsx(PostList, {
27
+ postType: "post"
28
+ }),
29
+ preview: /*#__PURE__*/_jsx(Editor, {
30
+ isPostsList: true
31
+ }),
32
+ mobile: /*#__PURE__*/_jsx(PostList, {
33
+ postType: "post"
34
+ })
35
+ },
36
+ widths: {
37
+ content: 380
38
+ }
39
+ };
40
+ //# sourceMappingURL=posts-list-view.js.map