@wordpress/edit-site 5.12.8 → 5.12.10

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 (146) hide show
  1. package/build/components/add-new-page/index.js +1 -6
  2. package/build/components/add-new-page/index.js.map +1 -1
  3. package/build/components/add-new-pattern/index.js +10 -2
  4. package/build/components/add-new-pattern/index.js.map +1 -1
  5. package/build/components/block-editor/index.js +0 -4
  6. package/build/components/block-editor/index.js.map +1 -1
  7. package/build/components/block-editor/use-site-editor-settings.js +12 -6
  8. package/build/components/block-editor/use-site-editor-settings.js.map +1 -1
  9. package/build/components/editor/index.js +10 -1
  10. package/build/components/editor/index.js.map +1 -1
  11. package/build/components/layout/index.js +25 -22
  12. package/build/components/layout/index.js.map +1 -1
  13. package/build/components/page-actions/index.js +2 -2
  14. package/build/components/page-actions/index.js.map +1 -1
  15. package/build/components/page-actions/{delete-page-menu-item.js → trash-page-menu-item.js} +8 -15
  16. package/build/components/page-actions/trash-page-menu-item.js.map +1 -0
  17. package/build/components/page-patterns/grid-item.js +1 -1
  18. package/build/components/page-patterns/grid-item.js.map +1 -1
  19. package/build/components/page-patterns/grid.js +72 -12
  20. package/build/components/page-patterns/grid.js.map +1 -1
  21. package/build/components/page-patterns/patterns-list.js +3 -4
  22. package/build/components/page-patterns/patterns-list.js.map +1 -1
  23. package/build/components/page-patterns/use-patterns.js +12 -4
  24. package/build/components/page-patterns/use-patterns.js.map +1 -1
  25. package/build/components/page-template-parts/add-new-template-part.js +74 -0
  26. package/build/components/page-template-parts/add-new-template-part.js.map +1 -0
  27. package/build/components/page-template-parts/index.js +2 -23
  28. package/build/components/page-template-parts/index.js.map +1 -1
  29. package/build/components/resizable-frame/index.js +75 -32
  30. package/build/components/resizable-frame/index.js.map +1 -1
  31. package/build/components/sidebar-edit-mode/page-panels/page-status.js +1 -1
  32. package/build/components/sidebar-edit-mode/page-panels/page-status.js.map +1 -1
  33. package/build/components/sidebar-navigation-screen/index.js +13 -7
  34. package/build/components/sidebar-navigation-screen/index.js.map +1 -1
  35. package/build/components/sidebar-navigation-screen-main/template-part-hint.js +1 -1
  36. package/build/components/sidebar-navigation-screen-main/template-part-hint.js.map +1 -1
  37. package/build/components/sidebar-navigation-screen-navigation-menu/more-menu.js +1 -0
  38. package/build/components/sidebar-navigation-screen-navigation-menu/more-menu.js.map +1 -1
  39. package/build/components/sidebar-navigation-screen-navigation-menu/single-navigation-menu.js +3 -3
  40. package/build/components/sidebar-navigation-screen-navigation-menu/single-navigation-menu.js.map +1 -1
  41. package/build/components/sidebar-navigation-screen-pages/index.js +33 -25
  42. package/build/components/sidebar-navigation-screen-pages/index.js.map +1 -1
  43. package/build/components/sidebar-navigation-screen-pattern/template-part-navigation-menu.js +3 -2
  44. package/build/components/sidebar-navigation-screen-pattern/template-part-navigation-menu.js.map +1 -1
  45. package/build/components/sidebar-navigation-screen-pattern/template-part-navigation-menus.js +3 -2
  46. package/build/components/sidebar-navigation-screen-pattern/template-part-navigation-menus.js.map +1 -1
  47. package/build/components/sidebar-navigation-screen-patterns/index.js +13 -18
  48. package/build/components/sidebar-navigation-screen-patterns/index.js.map +1 -1
  49. package/build/components/sidebar-navigation-screen-patterns/use-pattern-categories.js +11 -1
  50. package/build/components/sidebar-navigation-screen-patterns/use-pattern-categories.js.map +1 -1
  51. package/build/components/site-hub/index.js +3 -1
  52. package/build/components/site-hub/index.js.map +1 -1
  53. package/build/components/sync-state-with-url/use-sync-path-with-url.js +15 -12
  54. package/build/components/sync-state-with-url/use-sync-path-with-url.js.map +1 -1
  55. package/build-module/components/add-new-page/index.js +1 -6
  56. package/build-module/components/add-new-page/index.js.map +1 -1
  57. package/build-module/components/add-new-pattern/index.js +8 -2
  58. package/build-module/components/add-new-pattern/index.js.map +1 -1
  59. package/build-module/components/block-editor/index.js +0 -4
  60. package/build-module/components/block-editor/index.js.map +1 -1
  61. package/build-module/components/block-editor/use-site-editor-settings.js +13 -7
  62. package/build-module/components/block-editor/use-site-editor-settings.js.map +1 -1
  63. package/build-module/components/editor/index.js +10 -1
  64. package/build-module/components/editor/index.js.map +1 -1
  65. package/build-module/components/layout/index.js +25 -22
  66. package/build-module/components/layout/index.js.map +1 -1
  67. package/build-module/components/page-actions/index.js +2 -2
  68. package/build-module/components/page-actions/index.js.map +1 -1
  69. package/build-module/components/page-actions/{delete-page-menu-item.js → trash-page-menu-item.js} +8 -16
  70. package/build-module/components/page-actions/trash-page-menu-item.js.map +1 -0
  71. package/build-module/components/page-patterns/grid-item.js +1 -1
  72. package/build-module/components/page-patterns/grid-item.js.map +1 -1
  73. package/build-module/components/page-patterns/grid.js +75 -15
  74. package/build-module/components/page-patterns/grid.js.map +1 -1
  75. package/build-module/components/page-patterns/patterns-list.js +4 -5
  76. package/build-module/components/page-patterns/patterns-list.js.map +1 -1
  77. package/build-module/components/page-patterns/use-patterns.js +12 -4
  78. package/build-module/components/page-patterns/use-patterns.js.map +1 -1
  79. package/build-module/components/page-template-parts/add-new-template-part.js +58 -0
  80. package/build-module/components/page-template-parts/add-new-template-part.js.map +1 -0
  81. package/build-module/components/page-template-parts/index.js +3 -22
  82. package/build-module/components/page-template-parts/index.js.map +1 -1
  83. package/build-module/components/resizable-frame/index.js +76 -35
  84. package/build-module/components/resizable-frame/index.js.map +1 -1
  85. package/build-module/components/sidebar-edit-mode/page-panels/page-status.js +1 -1
  86. package/build-module/components/sidebar-edit-mode/page-panels/page-status.js.map +1 -1
  87. package/build-module/components/sidebar-navigation-screen/index.js +14 -8
  88. package/build-module/components/sidebar-navigation-screen/index.js.map +1 -1
  89. package/build-module/components/sidebar-navigation-screen-main/template-part-hint.js +1 -1
  90. package/build-module/components/sidebar-navigation-screen-main/template-part-hint.js.map +1 -1
  91. package/build-module/components/sidebar-navigation-screen-navigation-menu/more-menu.js +1 -0
  92. package/build-module/components/sidebar-navigation-screen-navigation-menu/more-menu.js.map +1 -1
  93. package/build-module/components/sidebar-navigation-screen-navigation-menu/single-navigation-menu.js +3 -3
  94. package/build-module/components/sidebar-navigation-screen-navigation-menu/single-navigation-menu.js.map +1 -1
  95. package/build-module/components/sidebar-navigation-screen-pages/index.js +33 -25
  96. package/build-module/components/sidebar-navigation-screen-pages/index.js.map +1 -1
  97. package/build-module/components/sidebar-navigation-screen-pattern/template-part-navigation-menu.js +3 -2
  98. package/build-module/components/sidebar-navigation-screen-pattern/template-part-navigation-menu.js.map +1 -1
  99. package/build-module/components/sidebar-navigation-screen-pattern/template-part-navigation-menus.js +3 -2
  100. package/build-module/components/sidebar-navigation-screen-pattern/template-part-navigation-menus.js.map +1 -1
  101. package/build-module/components/sidebar-navigation-screen-patterns/index.js +13 -18
  102. package/build-module/components/sidebar-navigation-screen-patterns/index.js.map +1 -1
  103. package/build-module/components/sidebar-navigation-screen-patterns/use-pattern-categories.js +10 -1
  104. package/build-module/components/sidebar-navigation-screen-patterns/use-pattern-categories.js.map +1 -1
  105. package/build-module/components/site-hub/index.js +3 -1
  106. package/build-module/components/site-hub/index.js.map +1 -1
  107. package/build-module/components/sync-state-with-url/use-sync-path-with-url.js +16 -12
  108. package/build-module/components/sync-state-with-url/use-sync-path-with-url.js.map +1 -1
  109. package/build-style/style-rtl.css +53 -15
  110. package/build-style/style.css +53 -15
  111. package/package.json +21 -21
  112. package/src/components/add-new-page/index.js +0 -3
  113. package/src/components/add-new-pattern/index.js +8 -2
  114. package/src/components/block-editor/index.js +0 -4
  115. package/src/components/block-editor/use-site-editor-settings.js +16 -11
  116. package/src/components/editor/index.js +15 -1
  117. package/src/components/layout/index.js +38 -43
  118. package/src/components/layout/style.scss +1 -0
  119. package/src/components/page-actions/index.js +2 -2
  120. package/src/components/page-actions/{delete-page-menu-item.js → trash-page-menu-item.js} +9 -21
  121. package/src/components/page-patterns/grid-item.js +1 -1
  122. package/src/components/page-patterns/grid.js +101 -16
  123. package/src/components/page-patterns/patterns-list.js +15 -9
  124. package/src/components/page-patterns/style.scss +21 -1
  125. package/src/components/page-patterns/use-patterns.js +11 -5
  126. package/src/components/page-template-parts/add-new-template-part.js +57 -0
  127. package/src/components/page-template-parts/index.js +3 -22
  128. package/src/components/resizable-frame/index.js +100 -31
  129. package/src/components/resizable-frame/style.scss +26 -9
  130. package/src/components/sidebar-edit-mode/page-panels/page-status.js +1 -1
  131. package/src/components/sidebar-navigation-item/style.scss +10 -1
  132. package/src/components/sidebar-navigation-screen/index.js +13 -6
  133. package/src/components/sidebar-navigation-screen-main/template-part-hint.js +1 -3
  134. package/src/components/sidebar-navigation-screen-navigation-menu/more-menu.js +1 -0
  135. package/src/components/sidebar-navigation-screen-navigation-menu/single-navigation-menu.js +1 -1
  136. package/src/components/sidebar-navigation-screen-pages/index.js +39 -29
  137. package/src/components/sidebar-navigation-screen-pattern/template-part-navigation-menu.js +2 -1
  138. package/src/components/sidebar-navigation-screen-pattern/template-part-navigation-menus.js +2 -1
  139. package/src/components/sidebar-navigation-screen-patterns/index.js +29 -30
  140. package/src/components/sidebar-navigation-screen-patterns/style.scss +5 -7
  141. package/src/components/sidebar-navigation-screen-patterns/use-pattern-categories.js +9 -0
  142. package/src/components/site-hub/index.js +5 -1
  143. package/src/components/site-hub/style.scss +5 -0
  144. package/src/components/sync-state-with-url/use-sync-path-with-url.js +73 -66
  145. package/build/components/page-actions/delete-page-menu-item.js.map +0 -1
  146. package/build-module/components/page-actions/delete-page-menu-item.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/edit-site/src/components/sidebar-navigation-screen-pages/index.js"],"names":["__experimentalItemGroup","ItemGroup","__experimentalItem","Item","__experimentalTruncate","Truncate","__experimentalVStack","VStack","useState","__","useEntityRecords","store","coreStore","decodeEntities","privateApis","routerPrivateApis","layout","page","home","verse","plus","useSelect","SidebarNavigationScreen","useLink","SidebarNavigationItem","SidebarButton","AddNewPageModal","unlock","useHistory","PageItem","postType","postId","props","linkInfo","SidebarNavigationScreenPages","records","pages","isResolving","isLoadingPages","status","per_page","templates","isLoadingTemplates","dynamicPageTemplates","filter","slug","includes","homeTemplate","find","template","pagesAndTemplates","concat","frontPage","postsPage","select","getEntityRecord","siteSettings","page_on_front","page_for_posts","isHomePageBlog","reorderedPages","length","homePageIndex","findIndex","item","id","homePage","splice","postsPageIndex","blogPage","showAddPage","setShowAddPage","history","handleNewPage","type","push","canvas","title","rendered","map","itemIcon","document","location"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalItemGroup as ItemGroup,\n\t__experimentalItem as Item,\n\t__experimentalTruncate as Truncate,\n\t__experimentalVStack as VStack,\n} from '@wordpress/components';\nimport { useState } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport { useEntityRecords, store as coreStore } from '@wordpress/core-data';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\nimport { layout, page, home, verse, plus } from '@wordpress/icons';\nimport { useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport SidebarNavigationScreen from '../sidebar-navigation-screen';\nimport { useLink } from '../routes/link';\nimport SidebarNavigationItem from '../sidebar-navigation-item';\nimport SidebarButton from '../sidebar-button';\nimport AddNewPageModal from '../add-new-page';\nimport { unlock } from '../../lock-unlock';\n\nconst { useHistory } = unlock( routerPrivateApis );\n\nconst PageItem = ( { postType = 'page', postId, ...props } ) => {\n\tconst linkInfo = useLink( {\n\t\tpostType,\n\t\tpostId,\n\t} );\n\treturn <SidebarNavigationItem { ...linkInfo } { ...props } />;\n};\n\nexport default function SidebarNavigationScreenPages() {\n\tconst { records: pages, isResolving: isLoadingPages } = useEntityRecords(\n\t\t'postType',\n\t\t'page',\n\t\t{\n\t\t\tstatus: 'any',\n\t\t\tper_page: -1,\n\t\t}\n\t);\n\tconst { records: templates, isResolving: isLoadingTemplates } =\n\t\tuseEntityRecords( 'postType', 'wp_template', {\n\t\t\tper_page: -1,\n\t\t} );\n\n\tconst dynamicPageTemplates = templates?.filter( ( { slug } ) =>\n\t\t[ '404', 'search' ].includes( slug )\n\t);\n\n\tconst homeTemplate =\n\t\ttemplates?.find( ( template ) => template.slug === 'front-page' ) ||\n\t\ttemplates?.find( ( template ) => template.slug === 'home' ) ||\n\t\ttemplates?.find( ( template ) => template.slug === 'index' );\n\n\tconst pagesAndTemplates = pages?.concat( dynamicPageTemplates, [\n\t\thomeTemplate,\n\t] );\n\n\tconst { frontPage, postsPage } = useSelect( ( select ) => {\n\t\tconst { getEntityRecord } = select( coreStore );\n\n\t\tconst siteSettings = getEntityRecord( 'root', 'site' );\n\t\treturn {\n\t\t\tfrontPage: siteSettings?.page_on_front,\n\t\t\tpostsPage: siteSettings?.page_for_posts,\n\t\t};\n\t}, [] );\n\n\tconst isHomePageBlog = frontPage === postsPage;\n\n\tconst reorderedPages = pages && [ ...pages ];\n\n\tif ( ! isHomePageBlog && reorderedPages?.length ) {\n\t\tconst homePageIndex = reorderedPages.findIndex(\n\t\t\t( item ) => item.id === frontPage\n\t\t);\n\t\tconst homePage = reorderedPages.splice( homePageIndex, 1 );\n\t\treorderedPages?.splice( 0, 0, ...homePage );\n\n\t\tconst postsPageIndex = reorderedPages.findIndex(\n\t\t\t( item ) => item.id === postsPage\n\t\t);\n\n\t\tconst blogPage = reorderedPages.splice( postsPageIndex, 1 );\n\n\t\treorderedPages.splice( 1, 0, ...blogPage );\n\t}\n\n\tconst [ showAddPage, setShowAddPage ] = useState( false );\n\n\tconst history = useHistory();\n\n\tconst handleNewPage = ( { type, id } ) => {\n\t\t// Navigate to the created template editor.\n\t\thistory.push( {\n\t\t\tpostId: id,\n\t\t\tpostType: type,\n\t\t\tcanvas: 'edit',\n\t\t} );\n\t\tsetShowAddPage( false );\n\t};\n\n\treturn (\n\t\t<>\n\t\t\t{ showAddPage && (\n\t\t\t\t<AddNewPageModal\n\t\t\t\t\tonSave={ handleNewPage }\n\t\t\t\t\tonClose={ () => setShowAddPage( false ) }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t<SidebarNavigationScreen\n\t\t\t\ttitle={ __( 'Pages' ) }\n\t\t\t\tdescription={ __( 'Browse and edit pages on your site.' ) }\n\t\t\t\tactions={\n\t\t\t\t\t<SidebarButton\n\t\t\t\t\t\ticon={ plus }\n\t\t\t\t\t\tlabel={ __( 'Draft a new page' ) }\n\t\t\t\t\t\tonClick={ () => setShowAddPage( true ) }\n\t\t\t\t\t/>\n\t\t\t\t}\n\t\t\t\tcontent={\n\t\t\t\t\t<>\n\t\t\t\t\t\t{ ( isLoadingPages || isLoadingTemplates ) && (\n\t\t\t\t\t\t\t<ItemGroup>\n\t\t\t\t\t\t\t\t<Item>{ __( 'Loading pages' ) }</Item>\n\t\t\t\t\t\t\t</ItemGroup>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ ! ( isLoadingPages || isLoadingTemplates ) && (\n\t\t\t\t\t\t\t<ItemGroup>\n\t\t\t\t\t\t\t\t{ ! pagesAndTemplates?.length && (\n\t\t\t\t\t\t\t\t\t<Item>{ __( 'No page found' ) }</Item>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t{ isHomePageBlog && homeTemplate && (\n\t\t\t\t\t\t\t\t\t<PageItem\n\t\t\t\t\t\t\t\t\t\tpostType=\"wp_template\"\n\t\t\t\t\t\t\t\t\t\tpostId={ homeTemplate.id }\n\t\t\t\t\t\t\t\t\t\tkey={ homeTemplate.id }\n\t\t\t\t\t\t\t\t\t\ticon={ home }\n\t\t\t\t\t\t\t\t\t\twithChevron\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<Truncate numberOfLines={ 1 }>\n\t\t\t\t\t\t\t\t\t\t\t{ decodeEntities(\n\t\t\t\t\t\t\t\t\t\t\t\thomeTemplate.title?.rendered ||\n\t\t\t\t\t\t\t\t\t\t\t\t\t__( '(no title)' )\n\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t</Truncate>\n\t\t\t\t\t\t\t\t\t</PageItem>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t{ reorderedPages?.map( ( item ) => {\n\t\t\t\t\t\t\t\t\tlet itemIcon;\n\t\t\t\t\t\t\t\t\tswitch ( item.id ) {\n\t\t\t\t\t\t\t\t\t\tcase frontPage:\n\t\t\t\t\t\t\t\t\t\t\titemIcon = home;\n\t\t\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\t\t\tcase postsPage:\n\t\t\t\t\t\t\t\t\t\t\titemIcon = verse;\n\t\t\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t\t\t\t\titemIcon = page;\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t<PageItem\n\t\t\t\t\t\t\t\t\t\t\tpostId={ item.id }\n\t\t\t\t\t\t\t\t\t\t\tkey={ item.id }\n\t\t\t\t\t\t\t\t\t\t\ticon={ itemIcon }\n\t\t\t\t\t\t\t\t\t\t\twithChevron\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t<Truncate numberOfLines={ 1 }>\n\t\t\t\t\t\t\t\t\t\t\t\t{ decodeEntities(\n\t\t\t\t\t\t\t\t\t\t\t\t\titem?.title?.rendered ||\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t__( '(no title)' )\n\t\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t\t</Truncate>\n\t\t\t\t\t\t\t\t\t\t</PageItem>\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t} ) }\n\t\t\t\t\t\t\t</ItemGroup>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</>\n\t\t\t\t}\n\t\t\t\tfooter={\n\t\t\t\t\t<VStack spacing={ 0 }>\n\t\t\t\t\t\t{ dynamicPageTemplates?.map( ( item ) => (\n\t\t\t\t\t\t\t<PageItem\n\t\t\t\t\t\t\t\tpostType=\"wp_template\"\n\t\t\t\t\t\t\t\tpostId={ item.id }\n\t\t\t\t\t\t\t\tkey={ item.id }\n\t\t\t\t\t\t\t\ticon={ layout }\n\t\t\t\t\t\t\t\twithChevron\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<Truncate numberOfLines={ 1 }>\n\t\t\t\t\t\t\t\t\t{ decodeEntities(\n\t\t\t\t\t\t\t\t\t\titem.title?.rendered ||\n\t\t\t\t\t\t\t\t\t\t\t__( '(no title)' )\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t</Truncate>\n\t\t\t\t\t\t\t</PageItem>\n\t\t\t\t\t\t) ) }\n\t\t\t\t\t\t<SidebarNavigationItem\n\t\t\t\t\t\t\tclassName=\"edit-site-sidebar-navigation-screen-pages__see-all\"\n\t\t\t\t\t\t\thref=\"edit.php?post_type=page\"\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tdocument.location = 'edit.php?post_type=page';\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Manage all pages' ) }\n\t\t\t\t\t\t</SidebarNavigationItem>\n\t\t\t\t\t</VStack>\n\t\t\t\t}\n\t\t\t/>\n\t\t</>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/edit-site/src/components/sidebar-navigation-screen-pages/index.js"],"names":["__experimentalItemGroup","ItemGroup","__experimentalItem","Item","__experimentalTruncate","Truncate","__experimentalVStack","VStack","useState","__","useEntityRecords","store","coreStore","decodeEntities","privateApis","routerPrivateApis","layout","page","home","verse","plus","useSelect","SidebarNavigationScreen","useLink","SidebarNavigationItem","SidebarButton","AddNewPageModal","unlock","useHistory","PageItem","postType","postId","props","linkInfo","SidebarNavigationScreenPages","records","pages","isResolving","isLoadingPages","status","per_page","templates","isLoadingTemplates","dynamicPageTemplates","filter","slug","includes","homeTemplate","find","template","getPostsPageTemplate","pagesAndTemplates","concat","frontPage","postsPage","select","getEntityRecord","siteSettings","page_on_front","page_for_posts","isHomePageBlog","reorderedPages","length","homePageIndex","findIndex","item","id","homePage","splice","postsPageIndex","blogPage","showAddPage","setShowAddPage","history","handleNewPage","type","push","canvas","getPageProps","itemIcon","postsPageTemplateId","icon","title","rendered","map","document","location"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalItemGroup as ItemGroup,\n\t__experimentalItem as Item,\n\t__experimentalTruncate as Truncate,\n\t__experimentalVStack as VStack,\n} from '@wordpress/components';\nimport { useState } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport { useEntityRecords, store as coreStore } from '@wordpress/core-data';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\nimport { layout, page, home, verse, plus } from '@wordpress/icons';\nimport { useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport SidebarNavigationScreen from '../sidebar-navigation-screen';\nimport { useLink } from '../routes/link';\nimport SidebarNavigationItem from '../sidebar-navigation-item';\nimport SidebarButton from '../sidebar-button';\nimport AddNewPageModal from '../add-new-page';\nimport { unlock } from '../../lock-unlock';\n\nconst { useHistory } = unlock( routerPrivateApis );\n\nconst PageItem = ( { postType = 'page', postId, ...props } ) => {\n\tconst linkInfo = useLink( {\n\t\tpostType,\n\t\tpostId,\n\t} );\n\treturn <SidebarNavigationItem { ...linkInfo } { ...props } />;\n};\n\nexport default function SidebarNavigationScreenPages() {\n\tconst { records: pages, isResolving: isLoadingPages } = useEntityRecords(\n\t\t'postType',\n\t\t'page',\n\t\t{\n\t\t\tstatus: 'any',\n\t\t\tper_page: -1,\n\t\t}\n\t);\n\tconst { records: templates, isResolving: isLoadingTemplates } =\n\t\tuseEntityRecords( 'postType', 'wp_template', {\n\t\t\tper_page: -1,\n\t\t} );\n\n\tconst dynamicPageTemplates = templates?.filter( ( { slug } ) =>\n\t\t[ '404', 'search' ].includes( slug )\n\t);\n\n\tconst homeTemplate =\n\t\ttemplates?.find( ( template ) => template.slug === 'front-page' ) ||\n\t\ttemplates?.find( ( template ) => template.slug === 'home' ) ||\n\t\ttemplates?.find( ( template ) => template.slug === 'index' );\n\n\tconst getPostsPageTemplate = () =>\n\t\ttemplates?.find( ( template ) => template.slug === 'home' ) ||\n\t\ttemplates?.find( ( template ) => template.slug === 'index' );\n\n\tconst pagesAndTemplates = pages?.concat( dynamicPageTemplates, [\n\t\thomeTemplate,\n\t] );\n\n\tconst { frontPage, postsPage } = useSelect( ( select ) => {\n\t\tconst { getEntityRecord } = select( coreStore );\n\t\tconst siteSettings = getEntityRecord( 'root', 'site' );\n\t\treturn {\n\t\t\tfrontPage: siteSettings?.page_on_front,\n\t\t\tpostsPage: siteSettings?.page_for_posts,\n\t\t};\n\t}, [] );\n\n\tconst isHomePageBlog = frontPage === postsPage;\n\n\tconst reorderedPages = pages && [ ...pages ];\n\n\tif ( ! isHomePageBlog && reorderedPages?.length ) {\n\t\tconst homePageIndex = reorderedPages.findIndex(\n\t\t\t( item ) => item.id === frontPage\n\t\t);\n\t\tconst homePage = reorderedPages.splice( homePageIndex, 1 );\n\t\treorderedPages?.splice( 0, 0, ...homePage );\n\n\t\tconst postsPageIndex = reorderedPages.findIndex(\n\t\t\t( item ) => item.id === postsPage\n\t\t);\n\n\t\tconst blogPage = reorderedPages.splice( postsPageIndex, 1 );\n\n\t\treorderedPages.splice( 1, 0, ...blogPage );\n\t}\n\n\tconst [ showAddPage, setShowAddPage ] = useState( false );\n\n\tconst history = useHistory();\n\n\tconst handleNewPage = ( { type, id } ) => {\n\t\t// Navigate to the created template editor.\n\t\thistory.push( {\n\t\t\tpostId: id,\n\t\t\tpostType: type,\n\t\t\tcanvas: 'edit',\n\t\t} );\n\t\tsetShowAddPage( false );\n\t};\n\n\tconst getPageProps = ( id ) => {\n\t\tlet itemIcon = page;\n\t\tconst postsPageTemplateId =\n\t\t\tpostsPage && postsPage === id ? getPostsPageTemplate()?.id : null;\n\n\t\tswitch ( id ) {\n\t\t\tcase frontPage:\n\t\t\t\titemIcon = home;\n\t\t\t\tbreak;\n\t\t\tcase postsPage:\n\t\t\t\titemIcon = verse;\n\t\t\t\tbreak;\n\t\t}\n\n\t\treturn {\n\t\t\ticon: itemIcon,\n\t\t\tpostType: postsPageTemplateId ? 'wp_template' : 'page',\n\t\t\tpostId: postsPageTemplateId || id,\n\t\t};\n\t};\n\n\treturn (\n\t\t<>\n\t\t\t{ showAddPage && (\n\t\t\t\t<AddNewPageModal\n\t\t\t\t\tonSave={ handleNewPage }\n\t\t\t\t\tonClose={ () => setShowAddPage( false ) }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t<SidebarNavigationScreen\n\t\t\t\ttitle={ __( 'Pages' ) }\n\t\t\t\tdescription={ __( 'Browse and edit pages on your site.' ) }\n\t\t\t\tactions={\n\t\t\t\t\t<SidebarButton\n\t\t\t\t\t\ticon={ plus }\n\t\t\t\t\t\tlabel={ __( 'Draft a new page' ) }\n\t\t\t\t\t\tonClick={ () => setShowAddPage( true ) }\n\t\t\t\t\t/>\n\t\t\t\t}\n\t\t\t\tcontent={\n\t\t\t\t\t<>\n\t\t\t\t\t\t{ ( isLoadingPages || isLoadingTemplates ) && (\n\t\t\t\t\t\t\t<ItemGroup>\n\t\t\t\t\t\t\t\t<Item>{ __( 'Loading pages' ) }</Item>\n\t\t\t\t\t\t\t</ItemGroup>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ ! ( isLoadingPages || isLoadingTemplates ) && (\n\t\t\t\t\t\t\t<ItemGroup>\n\t\t\t\t\t\t\t\t{ ! pagesAndTemplates?.length && (\n\t\t\t\t\t\t\t\t\t<Item>{ __( 'No page found' ) }</Item>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t{ isHomePageBlog && homeTemplate && (\n\t\t\t\t\t\t\t\t\t<PageItem\n\t\t\t\t\t\t\t\t\t\tpostType=\"wp_template\"\n\t\t\t\t\t\t\t\t\t\tpostId={ homeTemplate.id }\n\t\t\t\t\t\t\t\t\t\tkey={ homeTemplate.id }\n\t\t\t\t\t\t\t\t\t\ticon={ home }\n\t\t\t\t\t\t\t\t\t\twithChevron\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<Truncate numberOfLines={ 1 }>\n\t\t\t\t\t\t\t\t\t\t\t{ decodeEntities(\n\t\t\t\t\t\t\t\t\t\t\t\thomeTemplate.title?.rendered ||\n\t\t\t\t\t\t\t\t\t\t\t\t\t__( '(no title)' )\n\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t</Truncate>\n\t\t\t\t\t\t\t\t\t</PageItem>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t{ reorderedPages?.map( ( { id, title } ) => (\n\t\t\t\t\t\t\t\t\t<PageItem\n\t\t\t\t\t\t\t\t\t\t{ ...getPageProps( id ) }\n\t\t\t\t\t\t\t\t\t\tkey={ id }\n\t\t\t\t\t\t\t\t\t\twithChevron\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<Truncate numberOfLines={ 1 }>\n\t\t\t\t\t\t\t\t\t\t\t{ decodeEntities(\n\t\t\t\t\t\t\t\t\t\t\t\ttitle?.rendered ||\n\t\t\t\t\t\t\t\t\t\t\t\t\t__( '(no title)' )\n\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t</Truncate>\n\t\t\t\t\t\t\t\t\t</PageItem>\n\t\t\t\t\t\t\t\t) ) }\n\t\t\t\t\t\t\t</ItemGroup>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</>\n\t\t\t\t}\n\t\t\t\tfooter={\n\t\t\t\t\t<VStack spacing={ 0 }>\n\t\t\t\t\t\t{ dynamicPageTemplates?.map( ( item ) => (\n\t\t\t\t\t\t\t<PageItem\n\t\t\t\t\t\t\t\tpostType=\"wp_template\"\n\t\t\t\t\t\t\t\tpostId={ item.id }\n\t\t\t\t\t\t\t\tkey={ item.id }\n\t\t\t\t\t\t\t\ticon={ layout }\n\t\t\t\t\t\t\t\twithChevron\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<Truncate numberOfLines={ 1 }>\n\t\t\t\t\t\t\t\t\t{ decodeEntities(\n\t\t\t\t\t\t\t\t\t\titem.title?.rendered ||\n\t\t\t\t\t\t\t\t\t\t\t__( '(no title)' )\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t</Truncate>\n\t\t\t\t\t\t\t</PageItem>\n\t\t\t\t\t\t) ) }\n\t\t\t\t\t\t<SidebarNavigationItem\n\t\t\t\t\t\t\tclassName=\"edit-site-sidebar-navigation-screen-pages__see-all\"\n\t\t\t\t\t\t\thref=\"edit.php?post_type=page\"\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tdocument.location = 'edit.php?post_type=page';\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Manage all pages' ) }\n\t\t\t\t\t\t</SidebarNavigationItem>\n\t\t\t\t\t</VStack>\n\t\t\t\t}\n\t\t\t/>\n\t\t</>\n\t);\n}\n"]}
@@ -18,8 +18,9 @@ export default function TemplatePartNavigationMenu({
18
18
  if (!id) return null;
19
19
  return createElement(Fragment, null, createElement(Heading, {
20
20
  className: "edit-site-sidebar-navigation-screen-template-part-navigation-menu__title",
21
- size: "12",
22
- upperCase: true
21
+ size: "11",
22
+ upperCase: true,
23
+ weight: 500
23
24
  }, title?.rendered || __('Navigation')), createElement(NavigationMenuEditor, {
24
25
  navigationMenuId: id
25
26
  }));
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/edit-site/src/components/sidebar-navigation-screen-pattern/template-part-navigation-menu.js"],"names":["__","__experimentalHeading","Heading","useEntityProp","NavigationMenuEditor","TemplatePartNavigationMenu","id","title","rendered"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,EAAT,QAAmB,iBAAnB;AACA,SAASC,qBAAqB,IAAIC,OAAlC,QAAiD,uBAAjD;AACA,SAASC,aAAT,QAA8B,sBAA9B;AAEA;AACA;AACA;;AACA,OAAOC,oBAAP,MAAiC,qEAAjC;AAEA,eAAe,SAASC,0BAAT,CAAqC;AAAEC,EAAAA;AAAF,CAArC,EAA8C;AAC5D,QAAM,CAAEC,KAAF,IAAYJ,aAAa,CAAE,UAAF,EAAc,eAAd,EAA+B,OAA/B,EAAwCG,EAAxC,CAA/B;AAEA,MAAK,CAAEA,EAAP,EAAY,OAAO,IAAP;AAEZ,SACC,8BACC,cAAC,OAAD;AACC,IAAA,SAAS,EAAC,0EADX;AAEC,IAAA,IAAI,EAAC,IAFN;AAGC,IAAA,SAAS,EAAG;AAHb,KAKGC,KAAK,EAAEC,QAAP,IAAmBR,EAAE,CAAE,YAAF,CALxB,CADD,EAQC,cAAC,oBAAD;AAAsB,IAAA,gBAAgB,EAAGM;AAAzC,IARD,CADD;AAYA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { __experimentalHeading as Heading } from '@wordpress/components';\nimport { useEntityProp } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport NavigationMenuEditor from '../sidebar-navigation-screen-navigation-menu/navigation-menu-editor';\n\nexport default function TemplatePartNavigationMenu( { id } ) {\n\tconst [ title ] = useEntityProp( 'postType', 'wp_navigation', 'title', id );\n\n\tif ( ! id ) return null;\n\n\treturn (\n\t\t<>\n\t\t\t<Heading\n\t\t\t\tclassName=\"edit-site-sidebar-navigation-screen-template-part-navigation-menu__title\"\n\t\t\t\tsize=\"12\"\n\t\t\t\tupperCase={ true }\n\t\t\t>\n\t\t\t\t{ title?.rendered || __( 'Navigation' ) }\n\t\t\t</Heading>\n\t\t\t<NavigationMenuEditor navigationMenuId={ id } />\n\t\t</>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/edit-site/src/components/sidebar-navigation-screen-pattern/template-part-navigation-menu.js"],"names":["__","__experimentalHeading","Heading","useEntityProp","NavigationMenuEditor","TemplatePartNavigationMenu","id","title","rendered"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,EAAT,QAAmB,iBAAnB;AACA,SAASC,qBAAqB,IAAIC,OAAlC,QAAiD,uBAAjD;AACA,SAASC,aAAT,QAA8B,sBAA9B;AAEA;AACA;AACA;;AACA,OAAOC,oBAAP,MAAiC,qEAAjC;AAEA,eAAe,SAASC,0BAAT,CAAqC;AAAEC,EAAAA;AAAF,CAArC,EAA8C;AAC5D,QAAM,CAAEC,KAAF,IAAYJ,aAAa,CAAE,UAAF,EAAc,eAAd,EAA+B,OAA/B,EAAwCG,EAAxC,CAA/B;AAEA,MAAK,CAAEA,EAAP,EAAY,OAAO,IAAP;AAEZ,SACC,8BACC,cAAC,OAAD;AACC,IAAA,SAAS,EAAC,0EADX;AAEC,IAAA,IAAI,EAAC,IAFN;AAGC,IAAA,SAAS,EAAG,IAHb;AAIC,IAAA,MAAM,EAAG;AAJV,KAMGC,KAAK,EAAEC,QAAP,IAAmBR,EAAE,CAAE,YAAF,CANxB,CADD,EASC,cAAC,oBAAD;AAAsB,IAAA,gBAAgB,EAAGM;AAAzC,IATD,CADD;AAaA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { __experimentalHeading as Heading } from '@wordpress/components';\nimport { useEntityProp } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport NavigationMenuEditor from '../sidebar-navigation-screen-navigation-menu/navigation-menu-editor';\n\nexport default function TemplatePartNavigationMenu( { id } ) {\n\tconst [ title ] = useEntityProp( 'postType', 'wp_navigation', 'title', id );\n\n\tif ( ! id ) return null;\n\n\treturn (\n\t\t<>\n\t\t\t<Heading\n\t\t\t\tclassName=\"edit-site-sidebar-navigation-screen-template-part-navigation-menu__title\"\n\t\t\t\tsize=\"11\"\n\t\t\t\tupperCase={ true }\n\t\t\t\tweight={ 500 }\n\t\t\t>\n\t\t\t\t{ title?.rendered || __( 'Navigation' ) }\n\t\t\t</Heading>\n\t\t\t<NavigationMenuEditor navigationMenuId={ id } />\n\t\t</>\n\t);\n}\n"]}
@@ -25,8 +25,9 @@ export default function TemplatePartNavigationMenus({
25
25
 
26
26
  return createElement(Fragment, null, createElement(Heading, {
27
27
  className: "edit-site-sidebar-navigation-screen-template-part-navigation-menu__title",
28
- size: "12",
29
- upperCase: true
28
+ size: "11",
29
+ upperCase: true,
30
+ weight: 500
30
31
  }, __('Navigation')), createElement(TemplatePartNavigationMenuList, {
31
32
  menus: menus
32
33
  }));
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/edit-site/src/components/sidebar-navigation-screen-pattern/template-part-navigation-menus.js"],"names":["__","__experimentalHeading","Heading","TemplatePartNavigationMenu","TemplatePartNavigationMenuList","TemplatePartNavigationMenus","menus","length"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,EAAT,QAAmB,iBAAnB;AACA,SAASC,qBAAqB,IAAIC,OAAlC,QAAiD,uBAAjD;AACA;AACA;AACA;;AACA,OAAOC,0BAAP,MAAuC,iCAAvC;AACA,OAAOC,8BAAP,MAA2C,sCAA3C;AAEA,eAAe,SAASC,2BAAT,CAAsC;AAAEC,EAAAA;AAAF,CAAtC,EAAkD;AAChE,MAAK,CAAEA,KAAK,CAACC,MAAb,EAAsB,OAAO,IAAP,CAD0C,CAGhE;;AACA,MAAKD,KAAK,CAACC,MAAN,KAAiB,CAAtB,EAA0B;AACzB,WAAO,cAAC,0BAAD;AAA4B,MAAA,EAAE,EAAGD,KAAK,CAAE,CAAF;AAAtC,MAAP;AACA,GAN+D,CAQhE;;;AACA,SACC,8BACC,cAAC,OAAD;AACC,IAAA,SAAS,EAAC,0EADX;AAEC,IAAA,IAAI,EAAC,IAFN;AAGC,IAAA,SAAS,EAAG;AAHb,KAKGN,EAAE,CAAE,YAAF,CALL,CADD,EAQC,cAAC,8BAAD;AAAgC,IAAA,KAAK,EAAGM;AAAxC,IARD,CADD;AAYA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { __experimentalHeading as Heading } from '@wordpress/components';\n/**\n * Internal dependencies\n */\nimport TemplatePartNavigationMenu from './template-part-navigation-menu';\nimport TemplatePartNavigationMenuList from './template-part-navigation-menu-list';\n\nexport default function TemplatePartNavigationMenus( { menus } ) {\n\tif ( ! menus.length ) return null;\n\n\t// if there is a single menu then render TemplatePartNavigationMenu\n\tif ( menus.length === 1 ) {\n\t\treturn <TemplatePartNavigationMenu id={ menus[ 0 ] } />;\n\t}\n\n\t// if there are multiple menus then render TemplatePartNavigationMenuList\n\treturn (\n\t\t<>\n\t\t\t<Heading\n\t\t\t\tclassName=\"edit-site-sidebar-navigation-screen-template-part-navigation-menu__title\"\n\t\t\t\tsize=\"12\"\n\t\t\t\tupperCase={ true }\n\t\t\t>\n\t\t\t\t{ __( 'Navigation' ) }\n\t\t\t</Heading>\n\t\t\t<TemplatePartNavigationMenuList menus={ menus } />\n\t\t</>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/edit-site/src/components/sidebar-navigation-screen-pattern/template-part-navigation-menus.js"],"names":["__","__experimentalHeading","Heading","TemplatePartNavigationMenu","TemplatePartNavigationMenuList","TemplatePartNavigationMenus","menus","length"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,EAAT,QAAmB,iBAAnB;AACA,SAASC,qBAAqB,IAAIC,OAAlC,QAAiD,uBAAjD;AACA;AACA;AACA;;AACA,OAAOC,0BAAP,MAAuC,iCAAvC;AACA,OAAOC,8BAAP,MAA2C,sCAA3C;AAEA,eAAe,SAASC,2BAAT,CAAsC;AAAEC,EAAAA;AAAF,CAAtC,EAAkD;AAChE,MAAK,CAAEA,KAAK,CAACC,MAAb,EAAsB,OAAO,IAAP,CAD0C,CAGhE;;AACA,MAAKD,KAAK,CAACC,MAAN,KAAiB,CAAtB,EAA0B;AACzB,WAAO,cAAC,0BAAD;AAA4B,MAAA,EAAE,EAAGD,KAAK,CAAE,CAAF;AAAtC,MAAP;AACA,GAN+D,CAQhE;;;AACA,SACC,8BACC,cAAC,OAAD;AACC,IAAA,SAAS,EAAC,0EADX;AAEC,IAAA,IAAI,EAAC,IAFN;AAGC,IAAA,SAAS,EAAG,IAHb;AAIC,IAAA,MAAM,EAAG;AAJV,KAMGN,EAAE,CAAE,YAAF,CANL,CADD,EASC,cAAC,8BAAD;AAAgC,IAAA,KAAK,EAAGM;AAAxC,IATD,CADD;AAaA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { __experimentalHeading as Heading } from '@wordpress/components';\n/**\n * Internal dependencies\n */\nimport TemplatePartNavigationMenu from './template-part-navigation-menu';\nimport TemplatePartNavigationMenuList from './template-part-navigation-menu-list';\n\nexport default function TemplatePartNavigationMenus( { menus } ) {\n\tif ( ! menus.length ) return null;\n\n\t// if there is a single menu then render TemplatePartNavigationMenu\n\tif ( menus.length === 1 ) {\n\t\treturn <TemplatePartNavigationMenu id={ menus[ 0 ] } />;\n\t}\n\n\t// if there are multiple menus then render TemplatePartNavigationMenuList\n\treturn (\n\t\t<>\n\t\t\t<Heading\n\t\t\t\tclassName=\"edit-site-sidebar-navigation-screen-template-part-navigation-menu__title\"\n\t\t\t\tsize=\"11\"\n\t\t\t\tupperCase={ true }\n\t\t\t\tweight={ 500 }\n\t\t\t>\n\t\t\t\t{ __( 'Navigation' ) }\n\t\t\t</Heading>\n\t\t\t<TemplatePartNavigationMenuList menus={ menus } />\n\t\t</>\n\t);\n}\n"]}
@@ -55,11 +55,7 @@ function ThemePatternsGroup({
55
55
  currentCategory,
56
56
  currentType
57
57
  }) {
58
- return createElement(Fragment, null, createElement("div", {
59
- className: "edit-site-sidebar-navigation-screen-patterns__group-header"
60
- }, createElement(Heading, {
61
- level: 2
62
- }, __('Theme patterns'))), createElement(ItemGroup, {
58
+ return createElement(Fragment, null, createElement(ItemGroup, {
63
59
  className: "edit-site-sidebar-navigation-screen-patterns__group"
64
60
  }, categories.map(category => createElement(CategoryItem, {
65
61
  key: category.name,
@@ -102,8 +98,7 @@ export default function SidebarNavigationScreenPatterns() {
102
98
  hasPatterns
103
99
  } = usePatternCategories();
104
100
  const {
105
- myPatterns,
106
- hasPatterns: hasMyPatterns
101
+ myPatterns
107
102
  } = useMyPatterns();
108
103
  const isTemplatePartsMode = useSelect(select => {
109
104
  const settings = select(editSiteStore).getSettings();
@@ -113,13 +108,13 @@ export default function SidebarNavigationScreenPatterns() {
113
108
  path: '/wp_template_part/all'
114
109
  });
115
110
  const footer = !isMobileViewport ? createElement(ItemGroup, null, createElement(SidebarNavigationItem, {
116
- withChevron: true,
117
- ...templatePartsLink
118
- }, __('Manage all template parts')), createElement(SidebarNavigationItem, {
119
111
  as: "a",
120
112
  href: "edit.php?post_type=wp_block",
121
113
  withChevron: true
122
- }, __('Manage all of my patterns'))) : undefined;
114
+ }, __('Manage all of my patterns')), createElement(SidebarNavigationItem, {
115
+ withChevron: true,
116
+ ...templatePartsLink
117
+ }, __('Manage all template parts'))) : undefined;
123
118
  return createElement(SidebarNavigationScreen, {
124
119
  isRoot: isTemplatePartsMode,
125
120
  title: __('Patterns'),
@@ -128,24 +123,24 @@ export default function SidebarNavigationScreenPatterns() {
128
123
  footer: footer,
129
124
  content: createElement(Fragment, null, isLoading && __('Loading patterns'), !isLoading && createElement(Fragment, null, !hasTemplateParts && !hasPatterns && createElement(ItemGroup, {
130
125
  className: "edit-site-sidebar-navigation-screen-patterns__group"
131
- }, createElement(Item, null, __('No template parts or patterns found'))), hasMyPatterns && createElement(ItemGroup, {
126
+ }, createElement(Item, null, __('No template parts or patterns found'))), createElement(ItemGroup, {
132
127
  className: "edit-site-sidebar-navigation-screen-patterns__group"
133
128
  }, createElement(CategoryItem, {
134
129
  key: myPatterns.name,
135
- count: myPatterns.count,
130
+ count: !myPatterns.count ? '0' : myPatterns.count,
136
131
  label: myPatterns.label,
137
132
  icon: starFilled,
138
133
  id: myPatterns.name,
139
134
  type: "wp_block",
140
135
  isActive: currentCategory === `${myPatterns.name}` && currentType === 'wp_block'
141
- })), hasTemplateParts && createElement(TemplatePartGroup, {
142
- areas: templatePartAreas,
143
- currentArea: currentCategory,
144
- currentType: currentType
145
- }), hasPatterns && createElement(ThemePatternsGroup, {
136
+ })), hasPatterns && createElement(ThemePatternsGroup, {
146
137
  categories: patternCategories,
147
138
  currentCategory: currentCategory,
148
139
  currentType: currentType
140
+ }), hasTemplateParts && createElement(TemplatePartGroup, {
141
+ areas: templatePartAreas,
142
+ currentArea: currentCategory,
143
+ currentType: currentType
149
144
  })))
150
145
  });
151
146
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/edit-site/src/components/sidebar-navigation-screen-patterns/index.js"],"names":["__experimentalItemGroup","ItemGroup","__experimentalItem","Item","Flex","Icon","Tooltip","__experimentalHeading","Heading","useViewportMatch","useSelect","getTemplatePartIcon","__","getQueryArgs","file","starFilled","lockSmall","AddNewPattern","SidebarNavigationItem","SidebarNavigationScreen","CategoryItem","DEFAULT_CATEGORY","DEFAULT_TYPE","store","editSiteStore","useLink","usePatternCategories","useMyPatterns","useTemplatePartAreas","TemplatePartGroup","areas","currentArea","currentType","Object","entries","map","area","label","templateParts","length","ThemePatternsGroup","categories","currentCategory","category","name","count","SidebarNavigationScreenPatterns","isMobileViewport","categoryType","categoryId","window","location","href","templatePartAreas","hasTemplateParts","isLoading","patternCategories","hasPatterns","myPatterns","hasMyPatterns","isTemplatePartsMode","select","settings","getSettings","supportsTemplatePartsMode","templatePartsLink","path","footer","undefined"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalItemGroup as ItemGroup,\n\t__experimentalItem as Item,\n\tFlex,\n\tIcon,\n\tTooltip,\n\t__experimentalHeading as Heading,\n} from '@wordpress/components';\nimport { useViewportMatch } from '@wordpress/compose';\nimport { useSelect } from '@wordpress/data';\nimport { getTemplatePartIcon } from '@wordpress/editor';\nimport { __ } from '@wordpress/i18n';\nimport { getQueryArgs } from '@wordpress/url';\nimport { file, starFilled, lockSmall } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport AddNewPattern from '../add-new-pattern';\nimport SidebarNavigationItem from '../sidebar-navigation-item';\nimport SidebarNavigationScreen from '../sidebar-navigation-screen';\nimport CategoryItem from './category-item';\nimport { DEFAULT_CATEGORY, DEFAULT_TYPE } from '../page-patterns/utils';\nimport { store as editSiteStore } from '../../store';\nimport { useLink } from '../routes/link';\nimport usePatternCategories from './use-pattern-categories';\nimport useMyPatterns from './use-my-patterns';\nimport useTemplatePartAreas from './use-template-part-areas';\n\nfunction TemplatePartGroup( { areas, currentArea, currentType } ) {\n\treturn (\n\t\t<>\n\t\t\t<div className=\"edit-site-sidebar-navigation-screen-patterns__group-header\">\n\t\t\t\t<Heading level={ 2 }>{ __( 'Template parts' ) }</Heading>\n\t\t\t</div>\n\t\t\t<ItemGroup className=\"edit-site-sidebar-navigation-screen-patterns__group\">\n\t\t\t\t{ Object.entries( areas ).map(\n\t\t\t\t\t( [ area, { label, templateParts } ] ) => (\n\t\t\t\t\t\t<CategoryItem\n\t\t\t\t\t\t\tkey={ area }\n\t\t\t\t\t\t\tcount={ templateParts?.length }\n\t\t\t\t\t\t\ticon={ getTemplatePartIcon( area ) }\n\t\t\t\t\t\t\tlabel={ label }\n\t\t\t\t\t\t\tid={ area }\n\t\t\t\t\t\t\ttype=\"wp_template_part\"\n\t\t\t\t\t\t\tisActive={\n\t\t\t\t\t\t\t\tcurrentArea === area &&\n\t\t\t\t\t\t\t\tcurrentType === 'wp_template_part'\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</ItemGroup>\n\t\t</>\n\t);\n}\n\nfunction ThemePatternsGroup( { categories, currentCategory, currentType } ) {\n\treturn (\n\t\t<>\n\t\t\t<div className=\"edit-site-sidebar-navigation-screen-patterns__group-header\">\n\t\t\t\t<Heading level={ 2 }>{ __( 'Theme patterns' ) }</Heading>\n\t\t\t</div>\n\t\t\t<ItemGroup className=\"edit-site-sidebar-navigation-screen-patterns__group\">\n\t\t\t\t{ categories.map( ( category ) => (\n\t\t\t\t\t<CategoryItem\n\t\t\t\t\t\tkey={ category.name }\n\t\t\t\t\t\tcount={ category.count }\n\t\t\t\t\t\tlabel={\n\t\t\t\t\t\t\t<Flex justify=\"left\" align=\"center\" gap={ 0 }>\n\t\t\t\t\t\t\t\t{ category.label }\n\t\t\t\t\t\t\t\t<Tooltip\n\t\t\t\t\t\t\t\t\tposition=\"top center\"\n\t\t\t\t\t\t\t\t\ttext={ __(\n\t\t\t\t\t\t\t\t\t\t'Theme patterns cannot be edited.'\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<span className=\"edit-site-sidebar-navigation-screen-pattern__lock-icon\">\n\t\t\t\t\t\t\t\t\t\t<Icon icon={ lockSmall } size={ 24 } />\n\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t</Tooltip>\n\t\t\t\t\t\t\t</Flex>\n\t\t\t\t\t\t}\n\t\t\t\t\t\ticon={ file }\n\t\t\t\t\t\tid={ category.name }\n\t\t\t\t\t\ttype=\"pattern\"\n\t\t\t\t\t\tisActive={\n\t\t\t\t\t\t\tcurrentCategory === `${ category.name }` &&\n\t\t\t\t\t\t\tcurrentType === 'pattern'\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t) ) }\n\t\t\t</ItemGroup>\n\t\t</>\n\t);\n}\n\nexport default function SidebarNavigationScreenPatterns() {\n\tconst isMobileViewport = useViewportMatch( 'medium', '<' );\n\tconst { categoryType, categoryId } = getQueryArgs( window.location.href );\n\tconst currentCategory = categoryId || DEFAULT_CATEGORY;\n\tconst currentType = categoryType || DEFAULT_TYPE;\n\n\tconst { templatePartAreas, hasTemplateParts, isLoading } =\n\t\tuseTemplatePartAreas();\n\tconst { patternCategories, hasPatterns } = usePatternCategories();\n\tconst { myPatterns, hasPatterns: hasMyPatterns } = useMyPatterns();\n\n\tconst isTemplatePartsMode = useSelect( ( select ) => {\n\t\tconst settings = select( editSiteStore ).getSettings();\n\t\treturn !! settings.supportsTemplatePartsMode;\n\t}, [] );\n\n\tconst templatePartsLink = useLink( { path: '/wp_template_part/all' } );\n\tconst footer = ! isMobileViewport ? (\n\t\t<ItemGroup>\n\t\t\t<SidebarNavigationItem withChevron { ...templatePartsLink }>\n\t\t\t\t{ __( 'Manage all template parts' ) }\n\t\t\t</SidebarNavigationItem>\n\t\t\t<SidebarNavigationItem\n\t\t\t\tas=\"a\"\n\t\t\t\thref=\"edit.php?post_type=wp_block\"\n\t\t\t\twithChevron\n\t\t\t>\n\t\t\t\t{ __( 'Manage all of my patterns' ) }\n\t\t\t</SidebarNavigationItem>\n\t\t</ItemGroup>\n\t) : undefined;\n\n\treturn (\n\t\t<SidebarNavigationScreen\n\t\t\tisRoot={ isTemplatePartsMode }\n\t\t\ttitle={ __( 'Patterns' ) }\n\t\t\tdescription={ __(\n\t\t\t\t'Manage what patterns are available when editing the site.'\n\t\t\t) }\n\t\t\tactions={ <AddNewPattern /> }\n\t\t\tfooter={ footer }\n\t\t\tcontent={\n\t\t\t\t<>\n\t\t\t\t\t{ isLoading && __( 'Loading patterns' ) }\n\t\t\t\t\t{ ! isLoading && (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t{ ! hasTemplateParts && ! hasPatterns && (\n\t\t\t\t\t\t\t\t<ItemGroup className=\"edit-site-sidebar-navigation-screen-patterns__group\">\n\t\t\t\t\t\t\t\t\t<Item>\n\t\t\t\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t\t\t\t'No template parts or patterns found'\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t</Item>\n\t\t\t\t\t\t\t\t</ItemGroup>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t{ hasMyPatterns && (\n\t\t\t\t\t\t\t\t<ItemGroup className=\"edit-site-sidebar-navigation-screen-patterns__group\">\n\t\t\t\t\t\t\t\t\t<CategoryItem\n\t\t\t\t\t\t\t\t\t\tkey={ myPatterns.name }\n\t\t\t\t\t\t\t\t\t\tcount={ myPatterns.count }\n\t\t\t\t\t\t\t\t\t\tlabel={ myPatterns.label }\n\t\t\t\t\t\t\t\t\t\ticon={ starFilled }\n\t\t\t\t\t\t\t\t\t\tid={ myPatterns.name }\n\t\t\t\t\t\t\t\t\t\ttype=\"wp_block\"\n\t\t\t\t\t\t\t\t\t\tisActive={\n\t\t\t\t\t\t\t\t\t\t\tcurrentCategory ===\n\t\t\t\t\t\t\t\t\t\t\t\t`${ myPatterns.name }` &&\n\t\t\t\t\t\t\t\t\t\t\tcurrentType === 'wp_block'\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</ItemGroup>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t{ hasTemplateParts && (\n\t\t\t\t\t\t\t\t<TemplatePartGroup\n\t\t\t\t\t\t\t\t\tareas={ templatePartAreas }\n\t\t\t\t\t\t\t\t\tcurrentArea={ currentCategory }\n\t\t\t\t\t\t\t\t\tcurrentType={ currentType }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t{ hasPatterns && (\n\t\t\t\t\t\t\t\t<ThemePatternsGroup\n\t\t\t\t\t\t\t\t\tcategories={ patternCategories }\n\t\t\t\t\t\t\t\t\tcurrentCategory={ currentCategory }\n\t\t\t\t\t\t\t\t\tcurrentType={ currentType }\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/>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/edit-site/src/components/sidebar-navigation-screen-patterns/index.js"],"names":["__experimentalItemGroup","ItemGroup","__experimentalItem","Item","Flex","Icon","Tooltip","__experimentalHeading","Heading","useViewportMatch","useSelect","getTemplatePartIcon","__","getQueryArgs","file","starFilled","lockSmall","AddNewPattern","SidebarNavigationItem","SidebarNavigationScreen","CategoryItem","DEFAULT_CATEGORY","DEFAULT_TYPE","store","editSiteStore","useLink","usePatternCategories","useMyPatterns","useTemplatePartAreas","TemplatePartGroup","areas","currentArea","currentType","Object","entries","map","area","label","templateParts","length","ThemePatternsGroup","categories","currentCategory","category","name","count","SidebarNavigationScreenPatterns","isMobileViewport","categoryType","categoryId","window","location","href","templatePartAreas","hasTemplateParts","isLoading","patternCategories","hasPatterns","myPatterns","isTemplatePartsMode","select","settings","getSettings","supportsTemplatePartsMode","templatePartsLink","path","footer","undefined"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalItemGroup as ItemGroup,\n\t__experimentalItem as Item,\n\tFlex,\n\tIcon,\n\tTooltip,\n\t__experimentalHeading as Heading,\n} from '@wordpress/components';\nimport { useViewportMatch } from '@wordpress/compose';\nimport { useSelect } from '@wordpress/data';\nimport { getTemplatePartIcon } from '@wordpress/editor';\nimport { __ } from '@wordpress/i18n';\nimport { getQueryArgs } from '@wordpress/url';\nimport { file, starFilled, lockSmall } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport AddNewPattern from '../add-new-pattern';\nimport SidebarNavigationItem from '../sidebar-navigation-item';\nimport SidebarNavigationScreen from '../sidebar-navigation-screen';\nimport CategoryItem from './category-item';\nimport { DEFAULT_CATEGORY, DEFAULT_TYPE } from '../page-patterns/utils';\nimport { store as editSiteStore } from '../../store';\nimport { useLink } from '../routes/link';\nimport usePatternCategories from './use-pattern-categories';\nimport useMyPatterns from './use-my-patterns';\nimport useTemplatePartAreas from './use-template-part-areas';\n\nfunction TemplatePartGroup( { areas, currentArea, currentType } ) {\n\treturn (\n\t\t<>\n\t\t\t<div className=\"edit-site-sidebar-navigation-screen-patterns__group-header\">\n\t\t\t\t<Heading level={ 2 }>{ __( 'Template parts' ) }</Heading>\n\t\t\t</div>\n\t\t\t<ItemGroup className=\"edit-site-sidebar-navigation-screen-patterns__group\">\n\t\t\t\t{ Object.entries( areas ).map(\n\t\t\t\t\t( [ area, { label, templateParts } ] ) => (\n\t\t\t\t\t\t<CategoryItem\n\t\t\t\t\t\t\tkey={ area }\n\t\t\t\t\t\t\tcount={ templateParts?.length }\n\t\t\t\t\t\t\ticon={ getTemplatePartIcon( area ) }\n\t\t\t\t\t\t\tlabel={ label }\n\t\t\t\t\t\t\tid={ area }\n\t\t\t\t\t\t\ttype=\"wp_template_part\"\n\t\t\t\t\t\t\tisActive={\n\t\t\t\t\t\t\t\tcurrentArea === area &&\n\t\t\t\t\t\t\t\tcurrentType === 'wp_template_part'\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</ItemGroup>\n\t\t</>\n\t);\n}\n\nfunction ThemePatternsGroup( { categories, currentCategory, currentType } ) {\n\treturn (\n\t\t<>\n\t\t\t<ItemGroup className=\"edit-site-sidebar-navigation-screen-patterns__group\">\n\t\t\t\t{ categories.map( ( category ) => (\n\t\t\t\t\t<CategoryItem\n\t\t\t\t\t\tkey={ category.name }\n\t\t\t\t\t\tcount={ category.count }\n\t\t\t\t\t\tlabel={\n\t\t\t\t\t\t\t<Flex justify=\"left\" align=\"center\" gap={ 0 }>\n\t\t\t\t\t\t\t\t{ category.label }\n\t\t\t\t\t\t\t\t<Tooltip\n\t\t\t\t\t\t\t\t\tposition=\"top center\"\n\t\t\t\t\t\t\t\t\ttext={ __(\n\t\t\t\t\t\t\t\t\t\t'Theme patterns cannot be edited.'\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<span className=\"edit-site-sidebar-navigation-screen-pattern__lock-icon\">\n\t\t\t\t\t\t\t\t\t\t<Icon icon={ lockSmall } size={ 24 } />\n\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t</Tooltip>\n\t\t\t\t\t\t\t</Flex>\n\t\t\t\t\t\t}\n\t\t\t\t\t\ticon={ file }\n\t\t\t\t\t\tid={ category.name }\n\t\t\t\t\t\ttype=\"pattern\"\n\t\t\t\t\t\tisActive={\n\t\t\t\t\t\t\tcurrentCategory === `${ category.name }` &&\n\t\t\t\t\t\t\tcurrentType === 'pattern'\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t) ) }\n\t\t\t</ItemGroup>\n\t\t</>\n\t);\n}\n\nexport default function SidebarNavigationScreenPatterns() {\n\tconst isMobileViewport = useViewportMatch( 'medium', '<' );\n\tconst { categoryType, categoryId } = getQueryArgs( window.location.href );\n\tconst currentCategory = categoryId || DEFAULT_CATEGORY;\n\tconst currentType = categoryType || DEFAULT_TYPE;\n\n\tconst { templatePartAreas, hasTemplateParts, isLoading } =\n\t\tuseTemplatePartAreas();\n\tconst { patternCategories, hasPatterns } = usePatternCategories();\n\tconst { myPatterns } = useMyPatterns();\n\n\tconst isTemplatePartsMode = useSelect( ( select ) => {\n\t\tconst settings = select( editSiteStore ).getSettings();\n\t\treturn !! settings.supportsTemplatePartsMode;\n\t}, [] );\n\n\tconst templatePartsLink = useLink( { path: '/wp_template_part/all' } );\n\tconst footer = ! isMobileViewport ? (\n\t\t<ItemGroup>\n\t\t\t<SidebarNavigationItem\n\t\t\t\tas=\"a\"\n\t\t\t\thref=\"edit.php?post_type=wp_block\"\n\t\t\t\twithChevron\n\t\t\t>\n\t\t\t\t{ __( 'Manage all of my patterns' ) }\n\t\t\t</SidebarNavigationItem>\n\t\t\t<SidebarNavigationItem withChevron { ...templatePartsLink }>\n\t\t\t\t{ __( 'Manage all template parts' ) }\n\t\t\t</SidebarNavigationItem>\n\t\t</ItemGroup>\n\t) : undefined;\n\n\treturn (\n\t\t<SidebarNavigationScreen\n\t\t\tisRoot={ isTemplatePartsMode }\n\t\t\ttitle={ __( 'Patterns' ) }\n\t\t\tdescription={ __(\n\t\t\t\t'Manage what patterns are available when editing the site.'\n\t\t\t) }\n\t\t\tactions={ <AddNewPattern /> }\n\t\t\tfooter={ footer }\n\t\t\tcontent={\n\t\t\t\t<>\n\t\t\t\t\t{ isLoading && __( 'Loading patterns' ) }\n\t\t\t\t\t{ ! isLoading && (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t{ ! hasTemplateParts && ! hasPatterns && (\n\t\t\t\t\t\t\t\t<ItemGroup className=\"edit-site-sidebar-navigation-screen-patterns__group\">\n\t\t\t\t\t\t\t\t\t<Item>\n\t\t\t\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t\t\t\t'No template parts or patterns found'\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t</Item>\n\t\t\t\t\t\t\t\t</ItemGroup>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t<ItemGroup className=\"edit-site-sidebar-navigation-screen-patterns__group\">\n\t\t\t\t\t\t\t\t<CategoryItem\n\t\t\t\t\t\t\t\t\tkey={ myPatterns.name }\n\t\t\t\t\t\t\t\t\tcount={\n\t\t\t\t\t\t\t\t\t\t! myPatterns.count\n\t\t\t\t\t\t\t\t\t\t\t? '0'\n\t\t\t\t\t\t\t\t\t\t\t: myPatterns.count\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tlabel={ myPatterns.label }\n\t\t\t\t\t\t\t\t\ticon={ starFilled }\n\t\t\t\t\t\t\t\t\tid={ myPatterns.name }\n\t\t\t\t\t\t\t\t\ttype=\"wp_block\"\n\t\t\t\t\t\t\t\t\tisActive={\n\t\t\t\t\t\t\t\t\t\tcurrentCategory ===\n\t\t\t\t\t\t\t\t\t\t\t`${ myPatterns.name }` &&\n\t\t\t\t\t\t\t\t\t\tcurrentType === 'wp_block'\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</ItemGroup>\n\t\t\t\t\t\t\t{ hasPatterns && (\n\t\t\t\t\t\t\t\t<ThemePatternsGroup\n\t\t\t\t\t\t\t\t\tcategories={ patternCategories }\n\t\t\t\t\t\t\t\t\tcurrentCategory={ currentCategory }\n\t\t\t\t\t\t\t\t\tcurrentType={ currentType }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t{ hasTemplateParts && (\n\t\t\t\t\t\t\t\t<TemplatePartGroup\n\t\t\t\t\t\t\t\t\tareas={ templatePartAreas }\n\t\t\t\t\t\t\t\t\tcurrentArea={ currentCategory }\n\t\t\t\t\t\t\t\t\tcurrentType={ currentType }\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/>\n\t);\n}\n"]}
@@ -2,6 +2,7 @@
2
2
  * WordPress dependencies
3
3
  */
4
4
  import { useMemo } from '@wordpress/element';
5
+ import { __ } from '@wordpress/i18n';
5
6
  /**
6
7
  * Internal dependencies
7
8
  */
@@ -10,6 +11,10 @@ import useDefaultPatternCategories from './use-default-pattern-categories';
10
11
  import useThemePatterns from './use-theme-patterns';
11
12
  export default function usePatternCategories() {
12
13
  const defaultCategories = useDefaultPatternCategories();
14
+ defaultCategories.push({
15
+ name: 'uncategorized',
16
+ label: __('Uncategorized')
17
+ });
13
18
  const themePatterns = useThemePatterns();
14
19
  const patternCategories = useMemo(() => {
15
20
  const categoryMap = {};
@@ -28,7 +33,11 @@ export default function usePatternCategories() {
28
33
  if (categoryMap[category]) {
29
34
  categoryMap[category].count += 1;
30
35
  }
31
- });
36
+ }); // If the pattern has no categories, add it to uncategorized.
37
+
38
+ if (!pattern.categories?.length) {
39
+ categoryMap.uncategorized.count += 1;
40
+ }
32
41
  }); // Filter categories so we only have those containing patterns.
33
42
 
34
43
  defaultCategories.forEach(category => {
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/edit-site/src/components/sidebar-navigation-screen-patterns/use-pattern-categories.js"],"names":["useMemo","useDefaultPatternCategories","useThemePatterns","usePatternCategories","defaultCategories","themePatterns","patternCategories","categoryMap","categoriesWithCounts","forEach","category","name","count","pattern","categories","push","hasPatterns","length"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,OAAT,QAAwB,oBAAxB;AAEA;AACA;AACA;;AACA,OAAOC,2BAAP,MAAwC,kCAAxC;AACA,OAAOC,gBAAP,MAA6B,sBAA7B;AAEA,eAAe,SAASC,oBAAT,GAAgC;AAC9C,QAAMC,iBAAiB,GAAGH,2BAA2B,EAArD;AACA,QAAMI,aAAa,GAAGH,gBAAgB,EAAtC;AAEA,QAAMI,iBAAiB,GAAGN,OAAO,CAAE,MAAM;AACxC,UAAMO,WAAW,GAAG,EAApB;AACA,UAAMC,oBAAoB,GAAG,EAA7B,CAFwC,CAIxC;;AACAJ,IAAAA,iBAAiB,CAACK,OAAlB,CAA6BC,QAAF,IAAgB;AAC1C,UAAK,CAAEH,WAAW,CAAEG,QAAQ,CAACC,IAAX,CAAlB,EAAsC;AACrCJ,QAAAA,WAAW,CAAEG,QAAQ,CAACC,IAAX,CAAX,GAA+B,EAAE,GAAGD,QAAL;AAAeE,UAAAA,KAAK,EAAE;AAAtB,SAA/B;AACA;AACD,KAJD,EALwC,CAWxC;;AACAP,IAAAA,aAAa,CAACI,OAAd,CAAyBI,OAAF,IAAe;AACrCA,MAAAA,OAAO,CAACC,UAAR,EAAoBL,OAApB,CAA+BC,QAAF,IAAgB;AAC5C,YAAKH,WAAW,CAAEG,QAAF,CAAhB,EAA+B;AAC9BH,UAAAA,WAAW,CAAEG,QAAF,CAAX,CAAwBE,KAAxB,IAAiC,CAAjC;AACA;AACD,OAJD;AAKA,KAND,EAZwC,CAoBxC;;AACAR,IAAAA,iBAAiB,CAACK,OAAlB,CAA6BC,QAAF,IAAgB;AAC1C,UAAKH,WAAW,CAAEG,QAAQ,CAACC,IAAX,CAAX,CAA6BC,KAAlC,EAA0C;AACzCJ,QAAAA,oBAAoB,CAACO,IAArB,CAA2BR,WAAW,CAAEG,QAAQ,CAACC,IAAX,CAAtC;AACA;AACD,KAJD;AAMA,WAAOH,oBAAP;AACA,GA5BgC,EA4B9B,CAAEJ,iBAAF,EAAqBC,aAArB,CA5B8B,CAAjC;AA8BA,SAAO;AAAEC,IAAAA,iBAAF;AAAqBU,IAAAA,WAAW,EAAE,CAAC,CAAEV,iBAAiB,CAACW;AAAvD,GAAP;AACA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useMemo } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport useDefaultPatternCategories from './use-default-pattern-categories';\nimport useThemePatterns from './use-theme-patterns';\n\nexport default function usePatternCategories() {\n\tconst defaultCategories = useDefaultPatternCategories();\n\tconst themePatterns = useThemePatterns();\n\n\tconst patternCategories = useMemo( () => {\n\t\tconst categoryMap = {};\n\t\tconst categoriesWithCounts = [];\n\n\t\t// Create a map for easier counting of patterns in categories.\n\t\tdefaultCategories.forEach( ( category ) => {\n\t\t\tif ( ! categoryMap[ category.name ] ) {\n\t\t\t\tcategoryMap[ category.name ] = { ...category, count: 0 };\n\t\t\t}\n\t\t} );\n\n\t\t// Update the category counts to reflect theme registered patterns.\n\t\tthemePatterns.forEach( ( pattern ) => {\n\t\t\tpattern.categories?.forEach( ( category ) => {\n\t\t\t\tif ( categoryMap[ category ] ) {\n\t\t\t\t\tcategoryMap[ category ].count += 1;\n\t\t\t\t}\n\t\t\t} );\n\t\t} );\n\n\t\t// Filter categories so we only have those containing patterns.\n\t\tdefaultCategories.forEach( ( category ) => {\n\t\t\tif ( categoryMap[ category.name ].count ) {\n\t\t\t\tcategoriesWithCounts.push( categoryMap[ category.name ] );\n\t\t\t}\n\t\t} );\n\n\t\treturn categoriesWithCounts;\n\t}, [ defaultCategories, themePatterns ] );\n\n\treturn { patternCategories, hasPatterns: !! patternCategories.length };\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/edit-site/src/components/sidebar-navigation-screen-patterns/use-pattern-categories.js"],"names":["useMemo","__","useDefaultPatternCategories","useThemePatterns","usePatternCategories","defaultCategories","push","name","label","themePatterns","patternCategories","categoryMap","categoriesWithCounts","forEach","category","count","pattern","categories","length","uncategorized","hasPatterns"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,OAAT,QAAwB,oBAAxB;AACA,SAASC,EAAT,QAAmB,iBAAnB;AAEA;AACA;AACA;;AACA,OAAOC,2BAAP,MAAwC,kCAAxC;AACA,OAAOC,gBAAP,MAA6B,sBAA7B;AAEA,eAAe,SAASC,oBAAT,GAAgC;AAC9C,QAAMC,iBAAiB,GAAGH,2BAA2B,EAArD;AACAG,EAAAA,iBAAiB,CAACC,IAAlB,CAAwB;AACvBC,IAAAA,IAAI,EAAE,eADiB;AAEvBC,IAAAA,KAAK,EAAEP,EAAE,CAAE,eAAF;AAFc,GAAxB;AAIA,QAAMQ,aAAa,GAAGN,gBAAgB,EAAtC;AAEA,QAAMO,iBAAiB,GAAGV,OAAO,CAAE,MAAM;AACxC,UAAMW,WAAW,GAAG,EAApB;AACA,UAAMC,oBAAoB,GAAG,EAA7B,CAFwC,CAIxC;;AACAP,IAAAA,iBAAiB,CAACQ,OAAlB,CAA6BC,QAAF,IAAgB;AAC1C,UAAK,CAAEH,WAAW,CAAEG,QAAQ,CAACP,IAAX,CAAlB,EAAsC;AACrCI,QAAAA,WAAW,CAAEG,QAAQ,CAACP,IAAX,CAAX,GAA+B,EAAE,GAAGO,QAAL;AAAeC,UAAAA,KAAK,EAAE;AAAtB,SAA/B;AACA;AACD,KAJD,EALwC,CAWxC;;AACAN,IAAAA,aAAa,CAACI,OAAd,CAAyBG,OAAF,IAAe;AACrCA,MAAAA,OAAO,CAACC,UAAR,EAAoBJ,OAApB,CAA+BC,QAAF,IAAgB;AAC5C,YAAKH,WAAW,CAAEG,QAAF,CAAhB,EAA+B;AAC9BH,UAAAA,WAAW,CAAEG,QAAF,CAAX,CAAwBC,KAAxB,IAAiC,CAAjC;AACA;AACD,OAJD,EADqC,CAMrC;;AACA,UAAK,CAAEC,OAAO,CAACC,UAAR,EAAoBC,MAA3B,EAAoC;AACnCP,QAAAA,WAAW,CAACQ,aAAZ,CAA0BJ,KAA1B,IAAmC,CAAnC;AACA;AACD,KAVD,EAZwC,CAwBxC;;AACAV,IAAAA,iBAAiB,CAACQ,OAAlB,CAA6BC,QAAF,IAAgB;AAC1C,UAAKH,WAAW,CAAEG,QAAQ,CAACP,IAAX,CAAX,CAA6BQ,KAAlC,EAA0C;AACzCH,QAAAA,oBAAoB,CAACN,IAArB,CAA2BK,WAAW,CAAEG,QAAQ,CAACP,IAAX,CAAtC;AACA;AACD,KAJD;AAMA,WAAOK,oBAAP;AACA,GAhCgC,EAgC9B,CAAEP,iBAAF,EAAqBI,aAArB,CAhC8B,CAAjC;AAkCA,SAAO;AAAEC,IAAAA,iBAAF;AAAqBU,IAAAA,WAAW,EAAE,CAAC,CAAEV,iBAAiB,CAACQ;AAAvD,GAAP;AACA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useMemo } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport useDefaultPatternCategories from './use-default-pattern-categories';\nimport useThemePatterns from './use-theme-patterns';\n\nexport default function usePatternCategories() {\n\tconst defaultCategories = useDefaultPatternCategories();\n\tdefaultCategories.push( {\n\t\tname: 'uncategorized',\n\t\tlabel: __( 'Uncategorized' ),\n\t} );\n\tconst themePatterns = useThemePatterns();\n\n\tconst patternCategories = useMemo( () => {\n\t\tconst categoryMap = {};\n\t\tconst categoriesWithCounts = [];\n\n\t\t// Create a map for easier counting of patterns in categories.\n\t\tdefaultCategories.forEach( ( category ) => {\n\t\t\tif ( ! categoryMap[ category.name ] ) {\n\t\t\t\tcategoryMap[ category.name ] = { ...category, count: 0 };\n\t\t\t}\n\t\t} );\n\n\t\t// Update the category counts to reflect theme registered patterns.\n\t\tthemePatterns.forEach( ( pattern ) => {\n\t\t\tpattern.categories?.forEach( ( category ) => {\n\t\t\t\tif ( categoryMap[ category ] ) {\n\t\t\t\t\tcategoryMap[ category ].count += 1;\n\t\t\t\t}\n\t\t\t} );\n\t\t\t// If the pattern has no categories, add it to uncategorized.\n\t\t\tif ( ! pattern.categories?.length ) {\n\t\t\t\tcategoryMap.uncategorized.count += 1;\n\t\t\t}\n\t\t} );\n\n\t\t// Filter categories so we only have those containing patterns.\n\t\tdefaultCategories.forEach( ( category ) => {\n\t\t\tif ( categoryMap[ category.name ].count ) {\n\t\t\t\tcategoriesWithCounts.push( categoryMap[ category.name ] );\n\t\t\t}\n\t\t} );\n\n\t\treturn categoriesWithCounts;\n\t}, [ defaultCategories, themePatterns ] );\n\n\treturn { patternCategories, hasPatterns: !! patternCategories.length };\n}\n"]}
@@ -51,7 +51,8 @@ const SiteHub = forwardRef((props, ref) => {
51
51
  } = useDispatch(commandsStore);
52
52
  const disableMotion = useReducedMotion();
53
53
  const {
54
- setCanvasMode
54
+ setCanvasMode,
55
+ __experimentalSetPreviewDeviceType: setPreviewDeviceType
55
56
  } = unlock(useDispatch(editSiteStore));
56
57
  const {
57
58
  clearSelectedBlock
@@ -70,6 +71,7 @@ const SiteHub = forwardRef((props, ref) => {
70
71
 
71
72
  if (canvasMode === 'edit') {
72
73
  clearSelectedBlock();
74
+ setPreviewDeviceType('desktop');
73
75
  setCanvasMode('view');
74
76
  }
75
77
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/edit-site/src/components/site-hub/index.js"],"names":["classnames","useSelect","useDispatch","Button","__unstableMotion","motion","__unstableAnimatePresence","AnimatePresence","__experimentalHStack","HStack","useReducedMotion","__","store","blockEditorStore","coreStore","decodeEntities","forwardRef","search","external","commandsStore","editSiteStore","SiteIcon","unlock","HUB_ANIMATION_DURATION","SiteHub","props","ref","canvasMode","dashboardLink","homeUrl","select","getCanvasMode","getSettings","getUnstableBase","__experimentalDashboardLink","home","open","openCommandCenter","disableMotion","setCanvasMode","clearSelectedBlock","isBackToDashboardButton","siteIconButtonProps","href","label","role","onClick","event","preventDefault","siteTitle","getEntityRecord","title","className","type","duration","ease","scale","opacity","delay"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport {\n\tButton,\n\t__unstableMotion as motion,\n\t__unstableAnimatePresence as AnimatePresence,\n\t__experimentalHStack as HStack,\n} from '@wordpress/components';\nimport { useReducedMotion } from '@wordpress/compose';\nimport { __ } from '@wordpress/i18n';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { forwardRef } from '@wordpress/element';\nimport { search, external } from '@wordpress/icons';\nimport { store as commandsStore } from '@wordpress/commands';\n\n/**\n * Internal dependencies\n */\nimport { store as editSiteStore } from '../../store';\nimport SiteIcon from '../site-icon';\nimport { unlock } from '../../lock-unlock';\n\nconst HUB_ANIMATION_DURATION = 0.3;\n\nconst SiteHub = forwardRef( ( props, ref ) => {\n\tconst { canvasMode, dashboardLink, homeUrl } = useSelect( ( select ) => {\n\t\tconst { getCanvasMode, getSettings } = unlock(\n\t\t\tselect( editSiteStore )\n\t\t);\n\n\t\tconst {\n\t\t\tgetUnstableBase, // Site index.\n\t\t} = select( coreStore );\n\n\t\treturn {\n\t\t\tcanvasMode: getCanvasMode(),\n\t\t\tdashboardLink:\n\t\t\t\tgetSettings().__experimentalDashboardLink || 'index.php',\n\t\t\thomeUrl: getUnstableBase()?.home,\n\t\t};\n\t}, [] );\n\tconst { open: openCommandCenter } = useDispatch( commandsStore );\n\n\tconst disableMotion = useReducedMotion();\n\tconst { setCanvasMode } = unlock( useDispatch( editSiteStore ) );\n\tconst { clearSelectedBlock } = useDispatch( blockEditorStore );\n\tconst isBackToDashboardButton = canvasMode === 'view';\n\tconst siteIconButtonProps = isBackToDashboardButton\n\t\t? {\n\t\t\t\thref: dashboardLink,\n\t\t\t\tlabel: __( 'Go to the Dashboard' ),\n\t\t }\n\t\t: {\n\t\t\t\thref: dashboardLink, // We need to keep the `href` here so the component doesn't remount as a `<button>` and break the animation.\n\t\t\t\trole: 'button',\n\t\t\t\tlabel: __( 'Open Navigation' ),\n\t\t\t\tonClick: ( event ) => {\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\tif ( canvasMode === 'edit' ) {\n\t\t\t\t\t\tclearSelectedBlock();\n\t\t\t\t\t\tsetCanvasMode( 'view' );\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t };\n\n\tconst siteTitle = useSelect(\n\t\t( select ) =>\n\t\t\tselect( coreStore ).getEntityRecord( 'root', 'site' )?.title,\n\t\t[]\n\t);\n\n\treturn (\n\t\t<motion.div\n\t\t\tref={ ref }\n\t\t\t{ ...props }\n\t\t\tclassName={ classnames( 'edit-site-site-hub', props.className ) }\n\t\t\tinitial={ false }\n\t\t\ttransition={ {\n\t\t\t\ttype: 'tween',\n\t\t\t\tduration: disableMotion ? 0 : HUB_ANIMATION_DURATION,\n\t\t\t\tease: 'easeOut',\n\t\t\t} }\n\t\t>\n\t\t\t<HStack\n\t\t\t\tjustify=\"space-between\"\n\t\t\t\talignment=\"center\"\n\t\t\t\tclassName=\"edit-site-site-hub__container\"\n\t\t\t>\n\t\t\t\t<HStack\n\t\t\t\t\tjustify=\"flex-start\"\n\t\t\t\t\tclassName=\"edit-site-site-hub__text-content\"\n\t\t\t\t\tspacing=\"0\"\n\t\t\t\t>\n\t\t\t\t\t<motion.div\n\t\t\t\t\t\tclassName=\"edit-site-site-hub__view-mode-toggle-container\"\n\t\t\t\t\t\tlayout\n\t\t\t\t\t\ttransition={ {\n\t\t\t\t\t\t\ttype: 'tween',\n\t\t\t\t\t\t\tduration: disableMotion\n\t\t\t\t\t\t\t\t? 0\n\t\t\t\t\t\t\t\t: HUB_ANIMATION_DURATION,\n\t\t\t\t\t\t\tease: 'easeOut',\n\t\t\t\t\t\t} }\n\t\t\t\t\t>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t{ ...siteIconButtonProps }\n\t\t\t\t\t\t\tclassName=\"edit-site-layout__view-mode-toggle\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<motion.div\n\t\t\t\t\t\t\t\tinitial={ false }\n\t\t\t\t\t\t\t\tanimate={ {\n\t\t\t\t\t\t\t\t\tscale: canvasMode === 'view' ? 0.5 : 1,\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\twhileHover={ {\n\t\t\t\t\t\t\t\t\tscale: canvasMode === 'view' ? 0.5 : 0.96,\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\ttransition={ {\n\t\t\t\t\t\t\t\t\ttype: 'tween',\n\t\t\t\t\t\t\t\t\tduration: disableMotion\n\t\t\t\t\t\t\t\t\t\t? 0\n\t\t\t\t\t\t\t\t\t\t: HUB_ANIMATION_DURATION,\n\t\t\t\t\t\t\t\t\tease: 'easeOut',\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<SiteIcon className=\"edit-site-layout__view-mode-toggle-icon\" />\n\t\t\t\t\t\t\t</motion.div>\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</motion.div>\n\n\t\t\t\t\t<AnimatePresence>\n\t\t\t\t\t\t<motion.div\n\t\t\t\t\t\t\tlayout={ canvasMode === 'edit' }\n\t\t\t\t\t\t\tanimate={ {\n\t\t\t\t\t\t\t\topacity: canvasMode === 'view' ? 1 : 0,\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\texit={ {\n\t\t\t\t\t\t\t\topacity: 0,\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tclassName=\"edit-site-site-hub__site-title\"\n\t\t\t\t\t\t\ttransition={ {\n\t\t\t\t\t\t\t\ttype: 'tween',\n\t\t\t\t\t\t\t\tduration: disableMotion ? 0 : 0.2,\n\t\t\t\t\t\t\t\tease: 'easeOut',\n\t\t\t\t\t\t\t\tdelay: canvasMode === 'view' ? 0.1 : 0,\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ decodeEntities( siteTitle ) }\n\t\t\t\t\t\t</motion.div>\n\t\t\t\t\t</AnimatePresence>\n\t\t\t\t\t{ canvasMode === 'view' && (\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\thref={ homeUrl }\n\t\t\t\t\t\t\ttarget=\"_blank\"\n\t\t\t\t\t\t\tlabel={ __( 'View site' ) }\n\t\t\t\t\t\t\taria-label={ __(\n\t\t\t\t\t\t\t\t'View site (opens in a new tab)'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\ticon={ external }\n\t\t\t\t\t\t\tclassName=\"edit-site-site-hub__site-view-link\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</HStack>\n\t\t\t\t{ canvasMode === 'view' && (\n\t\t\t\t\t<Button\n\t\t\t\t\t\tclassName=\"edit-site-site-hub_toggle-command-center\"\n\t\t\t\t\t\ticon={ search }\n\t\t\t\t\t\tonClick={ () => openCommandCenter() }\n\t\t\t\t\t\tlabel={ __( 'Open command palette' ) }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</HStack>\n\t\t</motion.div>\n\t);\n} );\n\nexport default SiteHub;\n"]}
1
+ {"version":3,"sources":["@wordpress/edit-site/src/components/site-hub/index.js"],"names":["classnames","useSelect","useDispatch","Button","__unstableMotion","motion","__unstableAnimatePresence","AnimatePresence","__experimentalHStack","HStack","useReducedMotion","__","store","blockEditorStore","coreStore","decodeEntities","forwardRef","search","external","commandsStore","editSiteStore","SiteIcon","unlock","HUB_ANIMATION_DURATION","SiteHub","props","ref","canvasMode","dashboardLink","homeUrl","select","getCanvasMode","getSettings","getUnstableBase","__experimentalDashboardLink","home","open","openCommandCenter","disableMotion","setCanvasMode","__experimentalSetPreviewDeviceType","setPreviewDeviceType","clearSelectedBlock","isBackToDashboardButton","siteIconButtonProps","href","label","role","onClick","event","preventDefault","siteTitle","getEntityRecord","title","className","type","duration","ease","scale","opacity","delay"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport {\n\tButton,\n\t__unstableMotion as motion,\n\t__unstableAnimatePresence as AnimatePresence,\n\t__experimentalHStack as HStack,\n} from '@wordpress/components';\nimport { useReducedMotion } from '@wordpress/compose';\nimport { __ } from '@wordpress/i18n';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { forwardRef } from '@wordpress/element';\nimport { search, external } from '@wordpress/icons';\nimport { store as commandsStore } from '@wordpress/commands';\n\n/**\n * Internal dependencies\n */\nimport { store as editSiteStore } from '../../store';\nimport SiteIcon from '../site-icon';\nimport { unlock } from '../../lock-unlock';\n\nconst HUB_ANIMATION_DURATION = 0.3;\n\nconst SiteHub = forwardRef( ( props, ref ) => {\n\tconst { canvasMode, dashboardLink, homeUrl } = useSelect( ( select ) => {\n\t\tconst { getCanvasMode, getSettings } = unlock(\n\t\t\tselect( editSiteStore )\n\t\t);\n\n\t\tconst {\n\t\t\tgetUnstableBase, // Site index.\n\t\t} = select( coreStore );\n\n\t\treturn {\n\t\t\tcanvasMode: getCanvasMode(),\n\t\t\tdashboardLink:\n\t\t\t\tgetSettings().__experimentalDashboardLink || 'index.php',\n\t\t\thomeUrl: getUnstableBase()?.home,\n\t\t};\n\t}, [] );\n\tconst { open: openCommandCenter } = useDispatch( commandsStore );\n\n\tconst disableMotion = useReducedMotion();\n\tconst {\n\t\tsetCanvasMode,\n\t\t__experimentalSetPreviewDeviceType: setPreviewDeviceType,\n\t} = unlock( useDispatch( editSiteStore ) );\n\tconst { clearSelectedBlock } = useDispatch( blockEditorStore );\n\tconst isBackToDashboardButton = canvasMode === 'view';\n\tconst siteIconButtonProps = isBackToDashboardButton\n\t\t? {\n\t\t\t\thref: dashboardLink,\n\t\t\t\tlabel: __( 'Go to the Dashboard' ),\n\t\t }\n\t\t: {\n\t\t\t\thref: dashboardLink, // We need to keep the `href` here so the component doesn't remount as a `<button>` and break the animation.\n\t\t\t\trole: 'button',\n\t\t\t\tlabel: __( 'Open Navigation' ),\n\t\t\t\tonClick: ( event ) => {\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\tif ( canvasMode === 'edit' ) {\n\t\t\t\t\t\tclearSelectedBlock();\n\t\t\t\t\t\tsetPreviewDeviceType( 'desktop' );\n\t\t\t\t\t\tsetCanvasMode( 'view' );\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t };\n\n\tconst siteTitle = useSelect(\n\t\t( select ) =>\n\t\t\tselect( coreStore ).getEntityRecord( 'root', 'site' )?.title,\n\t\t[]\n\t);\n\n\treturn (\n\t\t<motion.div\n\t\t\tref={ ref }\n\t\t\t{ ...props }\n\t\t\tclassName={ classnames( 'edit-site-site-hub', props.className ) }\n\t\t\tinitial={ false }\n\t\t\ttransition={ {\n\t\t\t\ttype: 'tween',\n\t\t\t\tduration: disableMotion ? 0 : HUB_ANIMATION_DURATION,\n\t\t\t\tease: 'easeOut',\n\t\t\t} }\n\t\t>\n\t\t\t<HStack\n\t\t\t\tjustify=\"space-between\"\n\t\t\t\talignment=\"center\"\n\t\t\t\tclassName=\"edit-site-site-hub__container\"\n\t\t\t>\n\t\t\t\t<HStack\n\t\t\t\t\tjustify=\"flex-start\"\n\t\t\t\t\tclassName=\"edit-site-site-hub__text-content\"\n\t\t\t\t\tspacing=\"0\"\n\t\t\t\t>\n\t\t\t\t\t<motion.div\n\t\t\t\t\t\tclassName=\"edit-site-site-hub__view-mode-toggle-container\"\n\t\t\t\t\t\tlayout\n\t\t\t\t\t\ttransition={ {\n\t\t\t\t\t\t\ttype: 'tween',\n\t\t\t\t\t\t\tduration: disableMotion\n\t\t\t\t\t\t\t\t? 0\n\t\t\t\t\t\t\t\t: HUB_ANIMATION_DURATION,\n\t\t\t\t\t\t\tease: 'easeOut',\n\t\t\t\t\t\t} }\n\t\t\t\t\t>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t{ ...siteIconButtonProps }\n\t\t\t\t\t\t\tclassName=\"edit-site-layout__view-mode-toggle\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<motion.div\n\t\t\t\t\t\t\t\tinitial={ false }\n\t\t\t\t\t\t\t\tanimate={ {\n\t\t\t\t\t\t\t\t\tscale: canvasMode === 'view' ? 0.5 : 1,\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\twhileHover={ {\n\t\t\t\t\t\t\t\t\tscale: canvasMode === 'view' ? 0.5 : 0.96,\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\ttransition={ {\n\t\t\t\t\t\t\t\t\ttype: 'tween',\n\t\t\t\t\t\t\t\t\tduration: disableMotion\n\t\t\t\t\t\t\t\t\t\t? 0\n\t\t\t\t\t\t\t\t\t\t: HUB_ANIMATION_DURATION,\n\t\t\t\t\t\t\t\t\tease: 'easeOut',\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<SiteIcon className=\"edit-site-layout__view-mode-toggle-icon\" />\n\t\t\t\t\t\t\t</motion.div>\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</motion.div>\n\n\t\t\t\t\t<AnimatePresence>\n\t\t\t\t\t\t<motion.div\n\t\t\t\t\t\t\tlayout={ canvasMode === 'edit' }\n\t\t\t\t\t\t\tanimate={ {\n\t\t\t\t\t\t\t\topacity: canvasMode === 'view' ? 1 : 0,\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\texit={ {\n\t\t\t\t\t\t\t\topacity: 0,\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tclassName=\"edit-site-site-hub__site-title\"\n\t\t\t\t\t\t\ttransition={ {\n\t\t\t\t\t\t\t\ttype: 'tween',\n\t\t\t\t\t\t\t\tduration: disableMotion ? 0 : 0.2,\n\t\t\t\t\t\t\t\tease: 'easeOut',\n\t\t\t\t\t\t\t\tdelay: canvasMode === 'view' ? 0.1 : 0,\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ decodeEntities( siteTitle ) }\n\t\t\t\t\t\t</motion.div>\n\t\t\t\t\t</AnimatePresence>\n\t\t\t\t\t{ canvasMode === 'view' && (\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\thref={ homeUrl }\n\t\t\t\t\t\t\ttarget=\"_blank\"\n\t\t\t\t\t\t\tlabel={ __( 'View site' ) }\n\t\t\t\t\t\t\taria-label={ __(\n\t\t\t\t\t\t\t\t'View site (opens in a new tab)'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\ticon={ external }\n\t\t\t\t\t\t\tclassName=\"edit-site-site-hub__site-view-link\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</HStack>\n\t\t\t\t{ canvasMode === 'view' && (\n\t\t\t\t\t<Button\n\t\t\t\t\t\tclassName=\"edit-site-site-hub_toggle-command-center\"\n\t\t\t\t\t\ticon={ search }\n\t\t\t\t\t\tonClick={ () => openCommandCenter() }\n\t\t\t\t\t\tlabel={ __( 'Open command palette' ) }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</HStack>\n\t\t</motion.div>\n\t);\n} );\n\nexport default SiteHub;\n"]}
@@ -34,6 +34,13 @@ export function getPathFromURL(urlParams) {
34
34
 
35
35
  return path;
36
36
  }
37
+
38
+ function isSubset(subset, superset) {
39
+ return Object.entries(subset).every(([key, value]) => {
40
+ return superset[key] === value;
41
+ });
42
+ }
43
+
37
44
  export default function useSyncPathWithURL() {
38
45
  const history = useHistory();
39
46
  const {
@@ -44,8 +51,6 @@ export default function useSyncPathWithURL() {
44
51
  params: navigatorParams,
45
52
  goTo
46
53
  } = useNavigator();
47
- const currentUrlParams = useRef(urlParams);
48
- const currentPath = useRef(navigatorLocation.path);
49
54
  const isMounting = useRef(true);
50
55
  useEffect(() => {
51
56
  // The navigatorParams are only initially filled properly when the
@@ -56,16 +61,13 @@ export default function useSyncPathWithURL() {
56
61
  }
57
62
 
58
63
  function updateUrlParams(newUrlParams) {
59
- if (Object.entries(newUrlParams).every(([key, value]) => {
60
- return currentUrlParams.current[key] === value;
61
- })) {
64
+ if (isSubset(newUrlParams, urlParams)) {
62
65
  return;
63
66
  }
64
67
 
65
- const updatedParams = { ...currentUrlParams.current,
68
+ const updatedParams = { ...urlParams,
66
69
  ...newUrlParams
67
70
  };
68
- currentUrlParams.current = updatedParams;
69
71
  history.push(updatedParams);
70
72
  }
71
73
 
@@ -97,15 +99,17 @@ export default function useSyncPathWithURL() {
97
99
  path: navigatorLocation.path === '/' ? undefined : navigatorLocation.path
98
100
  });
99
101
  }
100
- }, [navigatorLocation?.path, navigatorParams, history]);
102
+ }, // Trigger only when navigator changes to prevent infinite loops.
103
+ // eslint-disable-next-line react-hooks/exhaustive-deps
104
+ [navigatorLocation?.path, navigatorParams]);
101
105
  useEffect(() => {
102
- currentUrlParams.current = urlParams;
103
106
  const path = getPathFromURL(urlParams);
104
107
 
105
- if (currentPath.current !== path) {
106
- currentPath.current = path;
108
+ if (navigatorLocation.path !== path) {
107
109
  goTo(path);
108
110
  }
109
- }, [urlParams, goTo]);
111
+ }, // Trigger only when URL changes to prevent infinite loops.
112
+ // eslint-disable-next-line react-hooks/exhaustive-deps
113
+ [urlParams]);
110
114
  }
111
115
  //# sourceMappingURL=use-sync-path-with-url.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/edit-site/src/components/sync-state-with-url/use-sync-path-with-url.js"],"names":["__experimentalUseNavigator","useNavigator","useEffect","useRef","privateApis","routerPrivateApis","unlock","useLocation","useHistory","getPathFromURL","urlParams","path","postType","postId","encodeURIComponent","useSyncPathWithURL","history","params","location","navigatorLocation","navigatorParams","goTo","currentUrlParams","currentPath","isMounting","current","updateUrlParams","newUrlParams","Object","entries","every","key","value","updatedParams","push","undefined","startsWith","canvas","categoryType","categoryId"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __experimentalUseNavigator as useNavigator } from '@wordpress/components';\nimport { useEffect, useRef } from '@wordpress/element';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../lock-unlock';\n\nconst { useLocation, useHistory } = unlock( routerPrivateApis );\n\nexport function getPathFromURL( urlParams ) {\n\tlet path = urlParams?.path ?? '/';\n\n\t// Compute the navigator path based on the URL params.\n\tif ( urlParams?.postType && urlParams?.postId ) {\n\t\tswitch ( urlParams.postType ) {\n\t\t\tcase 'wp_block':\n\t\t\tcase 'wp_template':\n\t\t\tcase 'wp_template_part':\n\t\t\tcase 'page':\n\t\t\t\tpath = `/${ encodeURIComponent(\n\t\t\t\t\turlParams.postType\n\t\t\t\t) }/${ encodeURIComponent( urlParams.postId ) }`;\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tpath = `/navigation/${ encodeURIComponent(\n\t\t\t\t\turlParams.postType\n\t\t\t\t) }/${ encodeURIComponent( urlParams.postId ) }`;\n\t\t}\n\t}\n\n\treturn path;\n}\n\nexport default function useSyncPathWithURL() {\n\tconst history = useHistory();\n\tconst { params: urlParams } = useLocation();\n\tconst {\n\t\tlocation: navigatorLocation,\n\t\tparams: navigatorParams,\n\t\tgoTo,\n\t} = useNavigator();\n\tconst currentUrlParams = useRef( urlParams );\n\tconst currentPath = useRef( navigatorLocation.path );\n\tconst isMounting = useRef( true );\n\n\tuseEffect( () => {\n\t\t// The navigatorParams are only initially filled properly when the\n\t\t// navigator screens mount. so we ignore the first synchronisation.\n\t\tif ( isMounting.current ) {\n\t\t\tisMounting.current = false;\n\t\t\treturn;\n\t\t}\n\n\t\tfunction updateUrlParams( newUrlParams ) {\n\t\t\tif (\n\t\t\t\tObject.entries( newUrlParams ).every( ( [ key, value ] ) => {\n\t\t\t\t\treturn currentUrlParams.current[ key ] === value;\n\t\t\t\t} )\n\t\t\t) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tconst updatedParams = {\n\t\t\t\t...currentUrlParams.current,\n\t\t\t\t...newUrlParams,\n\t\t\t};\n\t\t\tcurrentUrlParams.current = updatedParams;\n\t\t\thistory.push( updatedParams );\n\t\t}\n\n\t\tif ( navigatorParams?.postType && navigatorParams?.postId ) {\n\t\t\tupdateUrlParams( {\n\t\t\t\tpostType: navigatorParams?.postType,\n\t\t\t\tpostId: navigatorParams?.postId,\n\t\t\t\tpath: undefined,\n\t\t\t} );\n\t\t} else if (\n\t\t\tnavigatorLocation.path.startsWith( '/page/' ) &&\n\t\t\tnavigatorParams?.postId\n\t\t) {\n\t\t\tupdateUrlParams( {\n\t\t\t\tpostType: 'page',\n\t\t\t\tpostId: navigatorParams?.postId,\n\t\t\t\tpath: undefined,\n\t\t\t} );\n\t\t} else if ( navigatorLocation.path === '/patterns' ) {\n\t\t\tupdateUrlParams( {\n\t\t\t\tpostType: undefined,\n\t\t\t\tpostId: undefined,\n\t\t\t\tcanvas: undefined,\n\t\t\t\tpath: navigatorLocation.path,\n\t\t\t} );\n\t\t} else {\n\t\t\tupdateUrlParams( {\n\t\t\t\tpostType: undefined,\n\t\t\t\tpostId: undefined,\n\t\t\t\tcategoryType: undefined,\n\t\t\t\tcategoryId: undefined,\n\t\t\t\tpath:\n\t\t\t\t\tnavigatorLocation.path === '/'\n\t\t\t\t\t\t? undefined\n\t\t\t\t\t\t: navigatorLocation.path,\n\t\t\t} );\n\t\t}\n\t}, [ navigatorLocation?.path, navigatorParams, history ] );\n\n\tuseEffect( () => {\n\t\tcurrentUrlParams.current = urlParams;\n\t\tconst path = getPathFromURL( urlParams );\n\t\tif ( currentPath.current !== path ) {\n\t\t\tcurrentPath.current = path;\n\t\t\tgoTo( path );\n\t\t}\n\t}, [ urlParams, goTo ] );\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/edit-site/src/components/sync-state-with-url/use-sync-path-with-url.js"],"names":["__experimentalUseNavigator","useNavigator","useEffect","useRef","privateApis","routerPrivateApis","unlock","useLocation","useHistory","getPathFromURL","urlParams","path","postType","postId","encodeURIComponent","isSubset","subset","superset","Object","entries","every","key","value","useSyncPathWithURL","history","params","location","navigatorLocation","navigatorParams","goTo","isMounting","current","updateUrlParams","newUrlParams","updatedParams","push","undefined","startsWith","canvas","categoryType","categoryId"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __experimentalUseNavigator as useNavigator } from '@wordpress/components';\nimport { useEffect, useRef } from '@wordpress/element';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../lock-unlock';\n\nconst { useLocation, useHistory } = unlock( routerPrivateApis );\n\nexport function getPathFromURL( urlParams ) {\n\tlet path = urlParams?.path ?? '/';\n\n\t// Compute the navigator path based on the URL params.\n\tif ( urlParams?.postType && urlParams?.postId ) {\n\t\tswitch ( urlParams.postType ) {\n\t\t\tcase 'wp_block':\n\t\t\tcase 'wp_template':\n\t\t\tcase 'wp_template_part':\n\t\t\tcase 'page':\n\t\t\t\tpath = `/${ encodeURIComponent(\n\t\t\t\t\turlParams.postType\n\t\t\t\t) }/${ encodeURIComponent( urlParams.postId ) }`;\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tpath = `/navigation/${ encodeURIComponent(\n\t\t\t\t\turlParams.postType\n\t\t\t\t) }/${ encodeURIComponent( urlParams.postId ) }`;\n\t\t}\n\t}\n\n\treturn path;\n}\n\nfunction isSubset( subset, superset ) {\n\treturn Object.entries( subset ).every( ( [ key, value ] ) => {\n\t\treturn superset[ key ] === value;\n\t} );\n}\n\nexport default function useSyncPathWithURL() {\n\tconst history = useHistory();\n\tconst { params: urlParams } = useLocation();\n\tconst {\n\t\tlocation: navigatorLocation,\n\t\tparams: navigatorParams,\n\t\tgoTo,\n\t} = useNavigator();\n\tconst isMounting = useRef( true );\n\n\tuseEffect(\n\t\t() => {\n\t\t\t// The navigatorParams are only initially filled properly when the\n\t\t\t// navigator screens mount. so we ignore the first synchronisation.\n\t\t\tif ( isMounting.current ) {\n\t\t\t\tisMounting.current = false;\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tfunction updateUrlParams( newUrlParams ) {\n\t\t\t\tif ( isSubset( newUrlParams, urlParams ) ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tconst updatedParams = {\n\t\t\t\t\t...urlParams,\n\t\t\t\t\t...newUrlParams,\n\t\t\t\t};\n\t\t\t\thistory.push( updatedParams );\n\t\t\t}\n\n\t\t\tif ( navigatorParams?.postType && navigatorParams?.postId ) {\n\t\t\t\tupdateUrlParams( {\n\t\t\t\t\tpostType: navigatorParams?.postType,\n\t\t\t\t\tpostId: navigatorParams?.postId,\n\t\t\t\t\tpath: undefined,\n\t\t\t\t} );\n\t\t\t} else if (\n\t\t\t\tnavigatorLocation.path.startsWith( '/page/' ) &&\n\t\t\t\tnavigatorParams?.postId\n\t\t\t) {\n\t\t\t\tupdateUrlParams( {\n\t\t\t\t\tpostType: 'page',\n\t\t\t\t\tpostId: navigatorParams?.postId,\n\t\t\t\t\tpath: undefined,\n\t\t\t\t} );\n\t\t\t} else if ( navigatorLocation.path === '/patterns' ) {\n\t\t\t\tupdateUrlParams( {\n\t\t\t\t\tpostType: undefined,\n\t\t\t\t\tpostId: undefined,\n\t\t\t\t\tcanvas: undefined,\n\t\t\t\t\tpath: navigatorLocation.path,\n\t\t\t\t} );\n\t\t\t} else {\n\t\t\t\tupdateUrlParams( {\n\t\t\t\t\tpostType: undefined,\n\t\t\t\t\tpostId: undefined,\n\t\t\t\t\tcategoryType: undefined,\n\t\t\t\t\tcategoryId: undefined,\n\t\t\t\t\tpath:\n\t\t\t\t\t\tnavigatorLocation.path === '/'\n\t\t\t\t\t\t\t? undefined\n\t\t\t\t\t\t\t: navigatorLocation.path,\n\t\t\t\t} );\n\t\t\t}\n\t\t},\n\t\t// Trigger only when navigator changes to prevent infinite loops.\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t\t[ navigatorLocation?.path, navigatorParams ]\n\t);\n\n\tuseEffect(\n\t\t() => {\n\t\t\tconst path = getPathFromURL( urlParams );\n\t\t\tif ( navigatorLocation.path !== path ) {\n\t\t\t\tgoTo( path );\n\t\t\t}\n\t\t},\n\t\t// Trigger only when URL changes to prevent infinite loops.\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t\t[ urlParams ]\n\t);\n}\n"]}