@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":["useHistory","routerPrivateApis","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","coreStore","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","plus","home","title","rendered","map","itemIcon","verse","page","layout","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":["useHistory","routerPrivateApis","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","coreStore","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","page","postsPageTemplateId","home","verse","icon","plus","title","rendered","map","layout","document","location"],"mappings":";;;;;;;;;AASA;;AANA;;AAOA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAKA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAzBA;AACA;AACA;;AAeA;AACA;AACA;AAQA,MAAM;AAAEA,EAAAA;AAAF,IAAiB,wBAAQC,mBAAR,CAAvB;;AAEA,MAAMC,QAAQ,GAAG,CAAE;AAAEC,EAAAA,QAAQ,GAAG,MAAb;AAAqBC,EAAAA,MAArB;AAA6B,KAAGC;AAAhC,CAAF,KAA+C;AAC/D,QAAMC,QAAQ,GAAG,mBAAS;AACzBH,IAAAA,QADyB;AAEzBC,IAAAA;AAFyB,GAAT,CAAjB;AAIA,SAAO,4BAAC,8BAAD,OAA4BE,QAA5B;AAAA,OAA4CD;AAA5C,IAAP;AACA,CAND;;AAQe,SAASE,4BAAT,GAAwC;AACtD,QAAM;AAAEC,IAAAA,OAAO,EAAEC,KAAX;AAAkBC,IAAAA,WAAW,EAAEC;AAA/B,MAAkD,gCACvD,UADuD,EAEvD,MAFuD,EAGvD;AACCC,IAAAA,MAAM,EAAE,KADT;AAECC,IAAAA,QAAQ,EAAE,CAAC;AAFZ,GAHuD,CAAxD;AAQA,QAAM;AAAEL,IAAAA,OAAO,EAAEM,SAAX;AAAsBJ,IAAAA,WAAW,EAAEK;AAAnC,MACL,gCAAkB,UAAlB,EAA8B,aAA9B,EAA6C;AAC5CF,IAAAA,QAAQ,EAAE,CAAC;AADiC,GAA7C,CADD;AAKA,QAAMG,oBAAoB,GAAGF,SAAS,EAAEG,MAAX,CAAmB,CAAE;AAAEC,IAAAA;AAAF,GAAF,KAC/C,CAAE,KAAF,EAAS,QAAT,EAAoBC,QAApB,CAA8BD,IAA9B,CAD4B,CAA7B;AAIA,QAAME,YAAY,GACjBN,SAAS,EAAEO,IAAX,CAAmBC,QAAF,IAAgBA,QAAQ,CAACJ,IAAT,KAAkB,YAAnD,KACAJ,SAAS,EAAEO,IAAX,CAAmBC,QAAF,IAAgBA,QAAQ,CAACJ,IAAT,KAAkB,MAAnD,CADA,IAEAJ,SAAS,EAAEO,IAAX,CAAmBC,QAAF,IAAgBA,QAAQ,CAACJ,IAAT,KAAkB,OAAnD,CAHD;;AAKA,QAAMK,oBAAoB,GAAG,MAC5BT,SAAS,EAAEO,IAAX,CAAmBC,QAAF,IAAgBA,QAAQ,CAACJ,IAAT,KAAkB,MAAnD,KACAJ,SAAS,EAAEO,IAAX,CAAmBC,QAAF,IAAgBA,QAAQ,CAACJ,IAAT,KAAkB,OAAnD,CAFD;;AAIA,QAAMM,iBAAiB,GAAGf,KAAK,EAAEgB,MAAP,CAAeT,oBAAf,EAAqC,CAC9DI,YAD8D,CAArC,CAA1B;AAIA,QAAM;AAAEM,IAAAA,SAAF;AAAaC,IAAAA;AAAb,MAA2B,qBAAaC,MAAF,IAAc;AACzD,UAAM;AAAEC,MAAAA;AAAF,QAAsBD,MAAM,CAAEE,eAAF,CAAlC;AACA,UAAMC,YAAY,GAAGF,eAAe,CAAE,MAAF,EAAU,MAAV,CAApC;AACA,WAAO;AACNH,MAAAA,SAAS,EAAEK,YAAY,EAAEC,aADnB;AAENL,MAAAA,SAAS,EAAEI,YAAY,EAAEE;AAFnB,KAAP;AAIA,GAPgC,EAO9B,EAP8B,CAAjC;AASA,QAAMC,cAAc,GAAGR,SAAS,KAAKC,SAArC;AAEA,QAAMQ,cAAc,GAAG1B,KAAK,IAAI,CAAE,GAAGA,KAAL,CAAhC;;AAEA,MAAK,CAAEyB,cAAF,IAAoBC,cAAc,EAAEC,MAAzC,EAAkD;AACjD,UAAMC,aAAa,GAAGF,cAAc,CAACG,SAAf,CACnBC,IAAF,IAAYA,IAAI,CAACC,EAAL,KAAYd,SADH,CAAtB;AAGA,UAAMe,QAAQ,GAAGN,cAAc,CAACO,MAAf,CAAuBL,aAAvB,EAAsC,CAAtC,CAAjB;AACAF,IAAAA,cAAc,EAAEO,MAAhB,CAAwB,CAAxB,EAA2B,CAA3B,EAA8B,GAAGD,QAAjC;AAEA,UAAME,cAAc,GAAGR,cAAc,CAACG,SAAf,CACpBC,IAAF,IAAYA,IAAI,CAACC,EAAL,KAAYb,SADF,CAAvB;AAIA,UAAMiB,QAAQ,GAAGT,cAAc,CAACO,MAAf,CAAuBC,cAAvB,EAAuC,CAAvC,CAAjB;AAEAR,IAAAA,cAAc,CAACO,MAAf,CAAuB,CAAvB,EAA0B,CAA1B,EAA6B,GAAGE,QAAhC;AACA;;AAED,QAAM,CAAEC,WAAF,EAAeC,cAAf,IAAkC,uBAAU,KAAV,CAAxC;AAEA,QAAMC,OAAO,GAAG/C,UAAU,EAA1B;;AAEA,QAAMgD,aAAa,GAAG,CAAE;AAAEC,IAAAA,IAAF;AAAQT,IAAAA;AAAR,GAAF,KAAoB;AACzC;AACAO,IAAAA,OAAO,CAACG,IAAR,CAAc;AACb9C,MAAAA,MAAM,EAAEoC,EADK;AAEbrC,MAAAA,QAAQ,EAAE8C,IAFG;AAGbE,MAAAA,MAAM,EAAE;AAHK,KAAd;AAKAL,IAAAA,cAAc,CAAE,KAAF,CAAd;AACA,GARD;;AAUA,QAAMM,YAAY,GAAKZ,EAAF,IAAU;AAC9B,QAAIa,QAAQ,GAAGC,WAAf;AACA,UAAMC,mBAAmB,GACxB5B,SAAS,IAAIA,SAAS,KAAKa,EAA3B,GAAgCjB,oBAAoB,IAAIiB,EAAxD,GAA6D,IAD9D;;AAGA,YAASA,EAAT;AACC,WAAKd,SAAL;AACC2B,QAAAA,QAAQ,GAAGG,WAAX;AACA;;AACD,WAAK7B,SAAL;AACC0B,QAAAA,QAAQ,GAAGI,YAAX;AACA;AANF;;AASA,WAAO;AACNC,MAAAA,IAAI,EAAEL,QADA;AAENlD,MAAAA,QAAQ,EAAEoD,mBAAmB,GAAG,aAAH,GAAmB,MAF1C;AAGNnD,MAAAA,MAAM,EAAEmD,mBAAmB,IAAIf;AAHzB,KAAP;AAKA,GAnBD;;AAqBA,SACC,qDACGK,WAAW,IACZ,4BAAC,mBAAD;AACC,IAAA,MAAM,EAAGG,aADV;AAEC,IAAA,OAAO,EAAG,MAAMF,cAAc,CAAE,KAAF;AAF/B,IAFF,EAOC,4BAAC,gCAAD;AACC,IAAA,KAAK,EAAG,cAAI,OAAJ,CADT;AAEC,IAAA,WAAW,EAAG,cAAI,qCAAJ,CAFf;AAGC,IAAA,OAAO,EACN,4BAAC,sBAAD;AACC,MAAA,IAAI,EAAGa,WADR;AAEC,MAAA,KAAK,EAAG,cAAI,kBAAJ,CAFT;AAGC,MAAA,OAAO,EAAG,MAAMb,cAAc,CAAE,IAAF;AAH/B,MAJF;AAUC,IAAA,OAAO,EACN,qDACG,CAAEnC,cAAc,IAAII,kBAApB,KACD,4BAAC,mCAAD,QACC,4BAAC,8BAAD,QAAQ,cAAI,eAAJ,CAAR,CADD,CAFF,EAMG,EAAIJ,cAAc,IAAII,kBAAtB,KACD,4BAAC,mCAAD,QACG,CAAES,iBAAiB,EAAEY,MAArB,IACD,4BAAC,8BAAD,QAAQ,cAAI,eAAJ,CAAR,CAFF,EAIGF,cAAc,IAAId,YAAlB,IACD,4BAAC,QAAD;AACC,MAAA,QAAQ,EAAC,aADV;AAEC,MAAA,MAAM,EAAGA,YAAY,CAACoB,EAFvB;AAGC,MAAA,GAAG,EAAGpB,YAAY,CAACoB,EAHpB;AAIC,MAAA,IAAI,EAAGgB,WAJR;AAKC,MAAA,WAAW;AALZ,OAOC,4BAAC,kCAAD;AAAU,MAAA,aAAa,EAAG;AAA1B,OACG,kCACDpC,YAAY,CAACwC,KAAb,EAAoBC,QAApB,IACC,cAAI,YAAJ,CAFA,CADH,CAPD,CALF,EAoBG1B,cAAc,EAAE2B,GAAhB,CAAqB,CAAE;AAAEtB,MAAAA,EAAF;AAAMoB,MAAAA;AAAN,KAAF,KACtB,4BAAC,QAAD,OACMR,YAAY,CAAEZ,EAAF,CADlB;AAEC,MAAA,GAAG,EAAGA,EAFP;AAGC,MAAA,WAAW;AAHZ,OAKC,4BAAC,kCAAD;AAAU,MAAA,aAAa,EAAG;AAA1B,OACG,kCACDoB,KAAK,EAAEC,QAAP,IACC,cAAI,YAAJ,CAFA,CADH,CALD,CADC,CApBH,CAPF,CAXF;AAwDC,IAAA,MAAM,EACL,4BAAC,gCAAD;AAAQ,MAAA,OAAO,EAAG;AAAlB,OACG7C,oBAAoB,EAAE8C,GAAtB,CAA6BvB,IAAF,IAC5B,4BAAC,QAAD;AACC,MAAA,QAAQ,EAAC,aADV;AAEC,MAAA,MAAM,EAAGA,IAAI,CAACC,EAFf;AAGC,MAAA,GAAG,EAAGD,IAAI,CAACC,EAHZ;AAIC,MAAA,IAAI,EAAGuB,aAJR;AAKC,MAAA,WAAW;AALZ,OAOC,4BAAC,kCAAD;AAAU,MAAA,aAAa,EAAG;AAA1B,OACG,kCACDxB,IAAI,CAACqB,KAAL,EAAYC,QAAZ,IACC,cAAI,YAAJ,CAFA,CADH,CAPD,CADC,CADH,EAiBC,4BAAC,8BAAD;AACC,MAAA,SAAS,EAAC,oDADX;AAEC,MAAA,IAAI,EAAC,yBAFN;AAGC,MAAA,OAAO,EAAG,MAAM;AACfG,QAAAA,QAAQ,CAACC,QAAT,GAAoB,yBAApB;AACA;AALF,OAOG,cAAI,kBAAJ,CAPH,CAjBD;AAzDF,IAPD,CADD;AAgGA","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"]}
@@ -31,8 +31,9 @@ function TemplatePartNavigationMenu({
31
31
  if (!id) return null;
32
32
  return (0, _element.createElement)(_element.Fragment, null, (0, _element.createElement)(_components.__experimentalHeading, {
33
33
  className: "edit-site-sidebar-navigation-screen-template-part-navigation-menu__title",
34
- size: "12",
35
- upperCase: true
34
+ size: "11",
35
+ upperCase: true,
36
+ weight: 500
36
37
  }, title?.rendered || (0, _i18n.__)('Navigation')), (0, _element.createElement)(_navigationMenuEditor.default, {
37
38
  navigationMenuId: id
38
39
  }));
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/edit-site/src/components/sidebar-navigation-screen-pattern/template-part-navigation-menu.js"],"names":["TemplatePartNavigationMenu","id","title","rendered"],"mappings":";;;;;;;;;;;AAGA;;AACA;;AACA;;AAKA;;AAVA;AACA;AACA;;AAKA;AACA;AACA;AAGe,SAASA,0BAAT,CAAqC;AAAEC,EAAAA;AAAF,CAArC,EAA8C;AAC5D,QAAM,CAAEC,KAAF,IAAY,6BAAe,UAAf,EAA2B,eAA3B,EAA4C,OAA5C,EAAqDD,EAArD,CAAlB;AAEA,MAAK,CAAEA,EAAP,EAAY,OAAO,IAAP;AAEZ,SACC,qDACC,4BAAC,iCAAD;AACC,IAAA,SAAS,EAAC,0EADX;AAEC,IAAA,IAAI,EAAC,IAFN;AAGC,IAAA,SAAS,EAAG;AAHb,KAKGC,KAAK,EAAEC,QAAP,IAAmB,cAAI,YAAJ,CALtB,CADD,EAQC,4BAAC,6BAAD;AAAsB,IAAA,gBAAgB,EAAGF;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":["TemplatePartNavigationMenu","id","title","rendered"],"mappings":";;;;;;;;;;;AAGA;;AACA;;AACA;;AAKA;;AAVA;AACA;AACA;;AAKA;AACA;AACA;AAGe,SAASA,0BAAT,CAAqC;AAAEC,EAAAA;AAAF,CAArC,EAA8C;AAC5D,QAAM,CAAEC,KAAF,IAAY,6BAAe,UAAf,EAA2B,eAA3B,EAA4C,OAA5C,EAAqDD,EAArD,CAAlB;AAEA,MAAK,CAAEA,EAAP,EAAY,OAAO,IAAP;AAEZ,SACC,qDACC,4BAAC,iCAAD;AACC,IAAA,SAAS,EAAC,0EADX;AAEC,IAAA,IAAI,EAAC,IAFN;AAGC,IAAA,SAAS,EAAG,IAHb;AAIC,IAAA,MAAM,EAAG;AAJV,KAMGC,KAAK,EAAEC,QAAP,IAAmB,cAAI,YAAJ,CANtB,CADD,EASC,4BAAC,6BAAD;AAAsB,IAAA,gBAAgB,EAAGF;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"]}
@@ -38,8 +38,9 @@ function TemplatePartNavigationMenus({
38
38
 
39
39
  return (0, _element.createElement)(_element.Fragment, null, (0, _element.createElement)(_components.__experimentalHeading, {
40
40
  className: "edit-site-sidebar-navigation-screen-template-part-navigation-menu__title",
41
- size: "12",
42
- upperCase: true
41
+ size: "11",
42
+ upperCase: true,
43
+ weight: 500
43
44
  }, (0, _i18n.__)('Navigation')), (0, _element.createElement)(_templatePartNavigationMenuList.default, {
44
45
  menus: menus
45
46
  }));
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/edit-site/src/components/sidebar-navigation-screen-pattern/template-part-navigation-menus.js"],"names":["TemplatePartNavigationMenus","menus","length"],"mappings":";;;;;;;;;;;AAGA;;AACA;;AAIA;;AACA;;AATA;AACA;AACA;;AAGA;AACA;AACA;AAIe,SAASA,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,4BAAC,mCAAD;AAA4B,MAAA,EAAE,EAAGD,KAAK,CAAE,CAAF;AAAtC,MAAP;AACA,GAN+D,CAQhE;;;AACA,SACC,qDACC,4BAAC,iCAAD;AACC,IAAA,SAAS,EAAC,0EADX;AAEC,IAAA,IAAI,EAAC,IAFN;AAGC,IAAA,SAAS,EAAG;AAHb,KAKG,cAAI,YAAJ,CALH,CADD,EAQC,4BAAC,uCAAD;AAAgC,IAAA,KAAK,EAAGA;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":["TemplatePartNavigationMenus","menus","length"],"mappings":";;;;;;;;;;;AAGA;;AACA;;AAIA;;AACA;;AATA;AACA;AACA;;AAGA;AACA;AACA;AAIe,SAASA,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,4BAAC,mCAAD;AAA4B,MAAA,EAAE,EAAGD,KAAK,CAAE,CAAF;AAAtC,MAAP;AACA,GAN+D,CAQhE;;;AACA,SACC,qDACC,4BAAC,iCAAD;AACC,IAAA,SAAS,EAAC,0EADX;AAEC,IAAA,IAAI,EAAC,IAFN;AAGC,IAAA,SAAS,EAAG,IAHb;AAIC,IAAA,MAAM,EAAG;AAJV,KAMG,cAAI,YAAJ,CANH,CADD,EASC,4BAAC,uCAAD;AAAgC,IAAA,KAAK,EAAGA;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"]}
@@ -80,11 +80,7 @@ function ThemePatternsGroup({
80
80
  currentCategory,
81
81
  currentType
82
82
  }) {
83
- return (0, _element.createElement)(_element.Fragment, null, (0, _element.createElement)("div", {
84
- className: "edit-site-sidebar-navigation-screen-patterns__group-header"
85
- }, (0, _element.createElement)(_components.__experimentalHeading, {
86
- level: 2
87
- }, (0, _i18n.__)('Theme patterns'))), (0, _element.createElement)(_components.__experimentalItemGroup, {
83
+ return (0, _element.createElement)(_element.Fragment, null, (0, _element.createElement)(_components.__experimentalItemGroup, {
88
84
  className: "edit-site-sidebar-navigation-screen-patterns__group"
89
85
  }, categories.map(category => (0, _element.createElement)(_categoryItem.default, {
90
86
  key: category.name,
@@ -127,8 +123,7 @@ function SidebarNavigationScreenPatterns() {
127
123
  hasPatterns
128
124
  } = (0, _usePatternCategories.default)();
129
125
  const {
130
- myPatterns,
131
- hasPatterns: hasMyPatterns
126
+ myPatterns
132
127
  } = (0, _useMyPatterns.default)();
133
128
  const isTemplatePartsMode = (0, _data.useSelect)(select => {
134
129
  const settings = select(_store.store).getSettings();
@@ -138,13 +133,13 @@ function SidebarNavigationScreenPatterns() {
138
133
  path: '/wp_template_part/all'
139
134
  });
140
135
  const footer = !isMobileViewport ? (0, _element.createElement)(_components.__experimentalItemGroup, null, (0, _element.createElement)(_sidebarNavigationItem.default, {
141
- withChevron: true,
142
- ...templatePartsLink
143
- }, (0, _i18n.__)('Manage all template parts')), (0, _element.createElement)(_sidebarNavigationItem.default, {
144
136
  as: "a",
145
137
  href: "edit.php?post_type=wp_block",
146
138
  withChevron: true
147
- }, (0, _i18n.__)('Manage all of my patterns'))) : undefined;
139
+ }, (0, _i18n.__)('Manage all of my patterns')), (0, _element.createElement)(_sidebarNavigationItem.default, {
140
+ withChevron: true,
141
+ ...templatePartsLink
142
+ }, (0, _i18n.__)('Manage all template parts'))) : undefined;
148
143
  return (0, _element.createElement)(_sidebarNavigationScreen.default, {
149
144
  isRoot: isTemplatePartsMode,
150
145
  title: (0, _i18n.__)('Patterns'),
@@ -153,24 +148,24 @@ function SidebarNavigationScreenPatterns() {
153
148
  footer: footer,
154
149
  content: (0, _element.createElement)(_element.Fragment, null, isLoading && (0, _i18n.__)('Loading patterns'), !isLoading && (0, _element.createElement)(_element.Fragment, null, !hasTemplateParts && !hasPatterns && (0, _element.createElement)(_components.__experimentalItemGroup, {
155
150
  className: "edit-site-sidebar-navigation-screen-patterns__group"
156
- }, (0, _element.createElement)(_components.__experimentalItem, null, (0, _i18n.__)('No template parts or patterns found'))), hasMyPatterns && (0, _element.createElement)(_components.__experimentalItemGroup, {
151
+ }, (0, _element.createElement)(_components.__experimentalItem, null, (0, _i18n.__)('No template parts or patterns found'))), (0, _element.createElement)(_components.__experimentalItemGroup, {
157
152
  className: "edit-site-sidebar-navigation-screen-patterns__group"
158
153
  }, (0, _element.createElement)(_categoryItem.default, {
159
154
  key: myPatterns.name,
160
- count: myPatterns.count,
155
+ count: !myPatterns.count ? '0' : myPatterns.count,
161
156
  label: myPatterns.label,
162
157
  icon: _icons.starFilled,
163
158
  id: myPatterns.name,
164
159
  type: "wp_block",
165
160
  isActive: currentCategory === `${myPatterns.name}` && currentType === 'wp_block'
166
- })), hasTemplateParts && (0, _element.createElement)(TemplatePartGroup, {
167
- areas: templatePartAreas,
168
- currentArea: currentCategory,
169
- currentType: currentType
170
- }), hasPatterns && (0, _element.createElement)(ThemePatternsGroup, {
161
+ })), hasPatterns && (0, _element.createElement)(ThemePatternsGroup, {
171
162
  categories: patternCategories,
172
163
  currentCategory: currentCategory,
173
164
  currentType: currentType
165
+ }), hasTemplateParts && (0, _element.createElement)(TemplatePartGroup, {
166
+ areas: templatePartAreas,
167
+ currentArea: currentCategory,
168
+ currentType: currentType
174
169
  })))
175
170
  });
176
171
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/edit-site/src/components/sidebar-navigation-screen-patterns/index.js"],"names":["TemplatePartGroup","areas","currentArea","currentType","Object","entries","map","area","label","templateParts","length","ThemePatternsGroup","categories","currentCategory","category","name","count","lockSmall","file","SidebarNavigationScreenPatterns","isMobileViewport","categoryType","categoryId","window","location","href","DEFAULT_CATEGORY","DEFAULT_TYPE","templatePartAreas","hasTemplateParts","isLoading","patternCategories","hasPatterns","myPatterns","hasMyPatterns","isTemplatePartsMode","select","settings","editSiteStore","getSettings","supportsTemplatePartsMode","templatePartsLink","path","footer","undefined","starFilled"],"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":["TemplatePartGroup","areas","currentArea","currentType","Object","entries","map","area","label","templateParts","length","ThemePatternsGroup","categories","currentCategory","category","name","count","lockSmall","file","SidebarNavigationScreenPatterns","isMobileViewport","categoryType","categoryId","window","location","href","DEFAULT_CATEGORY","DEFAULT_TYPE","templatePartAreas","hasTemplateParts","isLoading","patternCategories","hasPatterns","myPatterns","isTemplatePartsMode","select","settings","editSiteStore","getSettings","supportsTemplatePartsMode","templatePartsLink","path","footer","undefined","starFilled"],"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"]}
@@ -9,6 +9,8 @@ exports.default = usePatternCategories;
9
9
 
10
10
  var _element = require("@wordpress/element");
11
11
 
12
+ var _i18n = require("@wordpress/i18n");
13
+
12
14
  var _useDefaultPatternCategories = _interopRequireDefault(require("./use-default-pattern-categories"));
13
15
 
14
16
  var _useThemePatterns = _interopRequireDefault(require("./use-theme-patterns"));
@@ -22,6 +24,10 @@ var _useThemePatterns = _interopRequireDefault(require("./use-theme-patterns"));
22
24
  */
23
25
  function usePatternCategories() {
24
26
  const defaultCategories = (0, _useDefaultPatternCategories.default)();
27
+ defaultCategories.push({
28
+ name: 'uncategorized',
29
+ label: (0, _i18n.__)('Uncategorized')
30
+ });
25
31
  const themePatterns = (0, _useThemePatterns.default)();
26
32
  const patternCategories = (0, _element.useMemo)(() => {
27
33
  const categoryMap = {};
@@ -40,7 +46,11 @@ function usePatternCategories() {
40
46
  if (categoryMap[category]) {
41
47
  categoryMap[category].count += 1;
42
48
  }
43
- });
49
+ }); // If the pattern has no categories, add it to uncategorized.
50
+
51
+ if (!pattern.categories?.length) {
52
+ categoryMap.uncategorized.count += 1;
53
+ }
44
54
  }); // Filter categories so we only have those containing patterns.
45
55
 
46
56
  defaultCategories.forEach(category => {
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/edit-site/src/components/sidebar-navigation-screen-patterns/use-pattern-categories.js"],"names":["usePatternCategories","defaultCategories","themePatterns","patternCategories","categoryMap","categoriesWithCounts","forEach","category","name","count","pattern","categories","push","hasPatterns","length"],"mappings":";;;;;;;;;AAGA;;AAKA;;AACA;;AATA;AACA;AACA;;AAGA;AACA;AACA;AAIe,SAASA,oBAAT,GAAgC;AAC9C,QAAMC,iBAAiB,GAAG,2CAA1B;AACA,QAAMC,aAAa,GAAG,gCAAtB;AAEA,QAAMC,iBAAiB,GAAG,sBAAS,MAAM;AACxC,UAAMC,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,GA5ByB,EA4BvB,CAAEJ,iBAAF,EAAqBC,aAArB,CA5BuB,CAA1B;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":["usePatternCategories","defaultCategories","push","name","label","themePatterns","patternCategories","categoryMap","categoriesWithCounts","forEach","category","count","pattern","categories","length","uncategorized","hasPatterns"],"mappings":";;;;;;;;;AAGA;;AACA;;AAKA;;AACA;;AAVA;AACA;AACA;;AAIA;AACA;AACA;AAIe,SAASA,oBAAT,GAAgC;AAC9C,QAAMC,iBAAiB,GAAG,2CAA1B;AACAA,EAAAA,iBAAiB,CAACC,IAAlB,CAAwB;AACvBC,IAAAA,IAAI,EAAE,eADiB;AAEvBC,IAAAA,KAAK,EAAE,cAAI,eAAJ;AAFgB,GAAxB;AAIA,QAAMC,aAAa,GAAG,gCAAtB;AAEA,QAAMC,iBAAiB,GAAG,sBAAS,MAAM;AACxC,UAAMC,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,GAhCyB,EAgCvB,CAAEP,iBAAF,EAAqBI,aAArB,CAhCuB,CAA1B;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"]}
@@ -72,7 +72,8 @@ const SiteHub = (0, _element.forwardRef)((props, ref) => {
72
72
  } = (0, _data.useDispatch)(_commands.store);
73
73
  const disableMotion = (0, _compose.useReducedMotion)();
74
74
  const {
75
- setCanvasMode
75
+ setCanvasMode,
76
+ __experimentalSetPreviewDeviceType: setPreviewDeviceType
76
77
  } = (0, _lockUnlock.unlock)((0, _data.useDispatch)(_store.store));
77
78
  const {
78
79
  clearSelectedBlock
@@ -91,6 +92,7 @@ const SiteHub = (0, _element.forwardRef)((props, ref) => {
91
92
 
92
93
  if (canvasMode === 'edit') {
93
94
  clearSelectedBlock();
95
+ setPreviewDeviceType('desktop');
94
96
  setCanvasMode('view');
95
97
  }
96
98
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/edit-site/src/components/site-hub/index.js"],"names":["HUB_ANIMATION_DURATION","SiteHub","props","ref","canvasMode","dashboardLink","homeUrl","select","getCanvasMode","getSettings","editSiteStore","getUnstableBase","coreStore","__experimentalDashboardLink","home","open","openCommandCenter","commandsStore","disableMotion","setCanvasMode","clearSelectedBlock","blockEditorStore","isBackToDashboardButton","siteIconButtonProps","href","label","role","onClick","event","preventDefault","siteTitle","getEntityRecord","title","className","type","duration","ease","scale","opacity","delay","external","search"],"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":["HUB_ANIMATION_DURATION","SiteHub","props","ref","canvasMode","dashboardLink","homeUrl","select","getCanvasMode","getSettings","editSiteStore","getUnstableBase","coreStore","__experimentalDashboardLink","home","open","openCommandCenter","commandsStore","disableMotion","setCanvasMode","__experimentalSetPreviewDeviceType","setPreviewDeviceType","clearSelectedBlock","blockEditorStore","isBackToDashboardButton","siteIconButtonProps","href","label","role","onClick","event","preventDefault","siteTitle","getEntityRecord","title","className","type","duration","ease","scale","opacity","delay","external","search"],"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"]}
@@ -48,6 +48,12 @@ function getPathFromURL(urlParams) {
48
48
  return path;
49
49
  }
50
50
 
51
+ function isSubset(subset, superset) {
52
+ return Object.entries(subset).every(([key, value]) => {
53
+ return superset[key] === value;
54
+ });
55
+ }
56
+
51
57
  function useSyncPathWithURL() {
52
58
  const history = useHistory();
53
59
  const {
@@ -58,8 +64,6 @@ function useSyncPathWithURL() {
58
64
  params: navigatorParams,
59
65
  goTo
60
66
  } = (0, _components.__experimentalUseNavigator)();
61
- const currentUrlParams = (0, _element.useRef)(urlParams);
62
- const currentPath = (0, _element.useRef)(navigatorLocation.path);
63
67
  const isMounting = (0, _element.useRef)(true);
64
68
  (0, _element.useEffect)(() => {
65
69
  // The navigatorParams are only initially filled properly when the
@@ -70,16 +74,13 @@ function useSyncPathWithURL() {
70
74
  }
71
75
 
72
76
  function updateUrlParams(newUrlParams) {
73
- if (Object.entries(newUrlParams).every(([key, value]) => {
74
- return currentUrlParams.current[key] === value;
75
- })) {
77
+ if (isSubset(newUrlParams, urlParams)) {
76
78
  return;
77
79
  }
78
80
 
79
- const updatedParams = { ...currentUrlParams.current,
81
+ const updatedParams = { ...urlParams,
80
82
  ...newUrlParams
81
83
  };
82
- currentUrlParams.current = updatedParams;
83
84
  history.push(updatedParams);
84
85
  }
85
86
 
@@ -111,15 +112,17 @@ function useSyncPathWithURL() {
111
112
  path: navigatorLocation.path === '/' ? undefined : navigatorLocation.path
112
113
  });
113
114
  }
114
- }, [navigatorLocation?.path, navigatorParams, history]);
115
+ }, // Trigger only when navigator changes to prevent infinite loops.
116
+ // eslint-disable-next-line react-hooks/exhaustive-deps
117
+ [navigatorLocation?.path, navigatorParams]);
115
118
  (0, _element.useEffect)(() => {
116
- currentUrlParams.current = urlParams;
117
119
  const path = getPathFromURL(urlParams);
118
120
 
119
- if (currentPath.current !== path) {
120
- currentPath.current = path;
121
+ if (navigatorLocation.path !== path) {
121
122
  goTo(path);
122
123
  }
123
- }, [urlParams, goTo]);
124
+ }, // Trigger only when URL changes to prevent infinite loops.
125
+ // eslint-disable-next-line react-hooks/exhaustive-deps
126
+ [urlParams]);
124
127
  }
125
128
  //# 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":["useLocation","useHistory","routerPrivateApis","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":["useLocation","useHistory","routerPrivateApis","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"]}
@@ -67,12 +67,7 @@ export default function AddNewPageModal({
67
67
  onSubmit: createPage
68
68
  }, createElement(VStack, {
69
69
  spacing: 3
70
- }, createElement(TextControl
71
- /* eslint-disable jsx-a11y/no-autofocus */
72
- , {
73
- autoFocus: true
74
- /* eslint-enable jsx-a11y/no-autofocus */
75
- ,
70
+ }, createElement(TextControl, {
76
71
  label: __('Page title'),
77
72
  onChange: setTitle,
78
73
  placeholder: __('No title'),
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/edit-site/src/components/add-new-page/index.js"],"names":["kebabCase","Button","Modal","__experimentalHStack","HStack","__experimentalVStack","VStack","TextControl","__","sprintf","useDispatch","useState","store","coreStore","noticesStore","AddNewPageModal","onSave","onClose","isCreatingPage","setIsCreatingPage","title","setTitle","saveEntityRecord","createErrorNotice","createSuccessNotice","createPage","event","preventDefault","newPage","status","slug","throwOnError","rendered","type","error","errorMessage","message","code"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { kebabCase } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tButton,\n\tModal,\n\t__experimentalHStack as HStack,\n\t__experimentalVStack as VStack,\n\tTextControl,\n} from '@wordpress/components';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { useDispatch } from '@wordpress/data';\nimport { useState } from '@wordpress/element';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { store as noticesStore } from '@wordpress/notices';\n\nexport default function AddNewPageModal( { onSave, onClose } ) {\n\tconst [ isCreatingPage, setIsCreatingPage ] = useState( false );\n\tconst [ title, setTitle ] = useState( '' );\n\n\tconst { saveEntityRecord } = useDispatch( coreStore );\n\tconst { createErrorNotice, createSuccessNotice } =\n\t\tuseDispatch( noticesStore );\n\n\tasync function createPage( event ) {\n\t\tevent.preventDefault();\n\n\t\tif ( isCreatingPage ) {\n\t\t\treturn;\n\t\t}\n\t\tsetIsCreatingPage( true );\n\t\ttry {\n\t\t\tconst newPage = await saveEntityRecord(\n\t\t\t\t'postType',\n\t\t\t\t'page',\n\t\t\t\t{\n\t\t\t\t\tstatus: 'draft',\n\t\t\t\t\ttitle,\n\t\t\t\t\tslug: kebabCase( title || __( 'No title' ) ),\n\t\t\t\t},\n\t\t\t\t{ throwOnError: true }\n\t\t\t);\n\n\t\t\tonSave( newPage );\n\n\t\t\tcreateSuccessNotice(\n\t\t\t\tsprintf(\n\t\t\t\t\t// translators: %s: Title of the created template e.g: \"Category\".\n\t\t\t\t\t__( '\"%s\" successfully created.' ),\n\t\t\t\t\tnewPage.title?.rendered || title\n\t\t\t\t),\n\t\t\t\t{\n\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t}\n\t\t\t);\n\t\t} catch ( error ) {\n\t\t\tconst errorMessage =\n\t\t\t\terror.message && error.code !== 'unknown_error'\n\t\t\t\t\t? error.message\n\t\t\t\t\t: __( 'An error occurred while creating the page.' );\n\n\t\t\tcreateErrorNotice( errorMessage, {\n\t\t\t\ttype: 'snackbar',\n\t\t\t} );\n\t\t} finally {\n\t\t\tsetIsCreatingPage( false );\n\t\t}\n\t}\n\n\treturn (\n\t\t<Modal title={ __( 'Draft a new page' ) } onRequestClose={ onClose }>\n\t\t\t<form onSubmit={ createPage }>\n\t\t\t\t<VStack spacing={ 3 }>\n\t\t\t\t\t<TextControl\n\t\t\t\t\t\t/* eslint-disable jsx-a11y/no-autofocus */\n\t\t\t\t\t\tautoFocus\n\t\t\t\t\t\t/* eslint-enable jsx-a11y/no-autofocus */\n\t\t\t\t\t\tlabel={ __( 'Page title' ) }\n\t\t\t\t\t\tonChange={ setTitle }\n\t\t\t\t\t\tplaceholder={ __( 'No title' ) }\n\t\t\t\t\t\tvalue={ title }\n\t\t\t\t\t/>\n\t\t\t\t\t<HStack spacing={ 2 } justify=\"end\">\n\t\t\t\t\t\t<Button variant=\"tertiary\" onClick={ onClose }>\n\t\t\t\t\t\t\t{ __( 'Cancel' ) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\ttype=\"submit\"\n\t\t\t\t\t\t\tisBusy={ isCreatingPage }\n\t\t\t\t\t\t\taria-disabled={ isCreatingPage }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Create draft' ) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</HStack>\n\t\t\t\t</VStack>\n\t\t\t</form>\n\t\t</Modal>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/edit-site/src/components/add-new-page/index.js"],"names":["kebabCase","Button","Modal","__experimentalHStack","HStack","__experimentalVStack","VStack","TextControl","__","sprintf","useDispatch","useState","store","coreStore","noticesStore","AddNewPageModal","onSave","onClose","isCreatingPage","setIsCreatingPage","title","setTitle","saveEntityRecord","createErrorNotice","createSuccessNotice","createPage","event","preventDefault","newPage","status","slug","throwOnError","rendered","type","error","errorMessage","message","code"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,SAAT,QAA0B,QAA1B;AAEA;AACA;AACA;;AACA,SACCC,MADD,EAECC,KAFD,EAGCC,oBAAoB,IAAIC,MAHzB,EAICC,oBAAoB,IAAIC,MAJzB,EAKCC,WALD,QAMO,uBANP;AAOA,SAASC,EAAT,EAAaC,OAAb,QAA4B,iBAA5B;AACA,SAASC,WAAT,QAA4B,iBAA5B;AACA,SAASC,QAAT,QAAyB,oBAAzB;AACA,SAASC,KAAK,IAAIC,SAAlB,QAAmC,sBAAnC;AACA,SAASD,KAAK,IAAIE,YAAlB,QAAsC,oBAAtC;AAEA,eAAe,SAASC,eAAT,CAA0B;AAAEC,EAAAA,MAAF;AAAUC,EAAAA;AAAV,CAA1B,EAAgD;AAC9D,QAAM,CAAEC,cAAF,EAAkBC,iBAAlB,IAAwCR,QAAQ,CAAE,KAAF,CAAtD;AACA,QAAM,CAAES,KAAF,EAASC,QAAT,IAAsBV,QAAQ,CAAE,EAAF,CAApC;AAEA,QAAM;AAAEW,IAAAA;AAAF,MAAuBZ,WAAW,CAAEG,SAAF,CAAxC;AACA,QAAM;AAAEU,IAAAA,iBAAF;AAAqBC,IAAAA;AAArB,MACLd,WAAW,CAAEI,YAAF,CADZ;;AAGA,iBAAeW,UAAf,CAA2BC,KAA3B,EAAmC;AAClCA,IAAAA,KAAK,CAACC,cAAN;;AAEA,QAAKT,cAAL,EAAsB;AACrB;AACA;;AACDC,IAAAA,iBAAiB,CAAE,IAAF,CAAjB;;AACA,QAAI;AACH,YAAMS,OAAO,GAAG,MAAMN,gBAAgB,CACrC,UADqC,EAErC,MAFqC,EAGrC;AACCO,QAAAA,MAAM,EAAE,OADT;AAECT,QAAAA,KAFD;AAGCU,QAAAA,IAAI,EAAE9B,SAAS,CAAEoB,KAAK,IAAIZ,EAAE,CAAE,UAAF,CAAb;AAHhB,OAHqC,EAQrC;AAAEuB,QAAAA,YAAY,EAAE;AAAhB,OARqC,CAAtC;AAWAf,MAAAA,MAAM,CAAEY,OAAF,CAAN;AAEAJ,MAAAA,mBAAmB,CAClBf,OAAO,EACN;AACAD,MAAAA,EAAE,CAAE,4BAAF,CAFI,EAGNoB,OAAO,CAACR,KAAR,EAAeY,QAAf,IAA2BZ,KAHrB,CADW,EAMlB;AACCa,QAAAA,IAAI,EAAE;AADP,OANkB,CAAnB;AAUA,KAxBD,CAwBE,OAAQC,KAAR,EAAgB;AACjB,YAAMC,YAAY,GACjBD,KAAK,CAACE,OAAN,IAAiBF,KAAK,CAACG,IAAN,KAAe,eAAhC,GACGH,KAAK,CAACE,OADT,GAEG5B,EAAE,CAAE,4CAAF,CAHN;AAKAe,MAAAA,iBAAiB,CAAEY,YAAF,EAAgB;AAChCF,QAAAA,IAAI,EAAE;AAD0B,OAAhB,CAAjB;AAGA,KAjCD,SAiCU;AACTd,MAAAA,iBAAiB,CAAE,KAAF,CAAjB;AACA;AACD;;AAED,SACC,cAAC,KAAD;AAAO,IAAA,KAAK,EAAGX,EAAE,CAAE,kBAAF,CAAjB;AAA0C,IAAA,cAAc,EAAGS;AAA3D,KACC;AAAM,IAAA,QAAQ,EAAGQ;AAAjB,KACC,cAAC,MAAD;AAAQ,IAAA,OAAO,EAAG;AAAlB,KACC,cAAC,WAAD;AACC,IAAA,KAAK,EAAGjB,EAAE,CAAE,YAAF,CADX;AAEC,IAAA,QAAQ,EAAGa,QAFZ;AAGC,IAAA,WAAW,EAAGb,EAAE,CAAE,UAAF,CAHjB;AAIC,IAAA,KAAK,EAAGY;AAJT,IADD,EAOC,cAAC,MAAD;AAAQ,IAAA,OAAO,EAAG,CAAlB;AAAsB,IAAA,OAAO,EAAC;AAA9B,KACC,cAAC,MAAD;AAAQ,IAAA,OAAO,EAAC,UAAhB;AAA2B,IAAA,OAAO,EAAGH;AAArC,KACGT,EAAE,CAAE,QAAF,CADL,CADD,EAIC,cAAC,MAAD;AACC,IAAA,OAAO,EAAC,SADT;AAEC,IAAA,IAAI,EAAC,QAFN;AAGC,IAAA,MAAM,EAAGU,cAHV;AAIC,qBAAgBA;AAJjB,KAMGV,EAAE,CAAE,cAAF,CANL,CAJD,CAPD,CADD,CADD,CADD;AA2BA","sourcesContent":["/**\n * External dependencies\n */\nimport { kebabCase } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tButton,\n\tModal,\n\t__experimentalHStack as HStack,\n\t__experimentalVStack as VStack,\n\tTextControl,\n} from '@wordpress/components';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { useDispatch } from '@wordpress/data';\nimport { useState } from '@wordpress/element';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { store as noticesStore } from '@wordpress/notices';\n\nexport default function AddNewPageModal( { onSave, onClose } ) {\n\tconst [ isCreatingPage, setIsCreatingPage ] = useState( false );\n\tconst [ title, setTitle ] = useState( '' );\n\n\tconst { saveEntityRecord } = useDispatch( coreStore );\n\tconst { createErrorNotice, createSuccessNotice } =\n\t\tuseDispatch( noticesStore );\n\n\tasync function createPage( event ) {\n\t\tevent.preventDefault();\n\n\t\tif ( isCreatingPage ) {\n\t\t\treturn;\n\t\t}\n\t\tsetIsCreatingPage( true );\n\t\ttry {\n\t\t\tconst newPage = await saveEntityRecord(\n\t\t\t\t'postType',\n\t\t\t\t'page',\n\t\t\t\t{\n\t\t\t\t\tstatus: 'draft',\n\t\t\t\t\ttitle,\n\t\t\t\t\tslug: kebabCase( title || __( 'No title' ) ),\n\t\t\t\t},\n\t\t\t\t{ throwOnError: true }\n\t\t\t);\n\n\t\t\tonSave( newPage );\n\n\t\t\tcreateSuccessNotice(\n\t\t\t\tsprintf(\n\t\t\t\t\t// translators: %s: Title of the created template e.g: \"Category\".\n\t\t\t\t\t__( '\"%s\" successfully created.' ),\n\t\t\t\t\tnewPage.title?.rendered || title\n\t\t\t\t),\n\t\t\t\t{\n\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t}\n\t\t\t);\n\t\t} catch ( error ) {\n\t\t\tconst errorMessage =\n\t\t\t\terror.message && error.code !== 'unknown_error'\n\t\t\t\t\t? error.message\n\t\t\t\t\t: __( 'An error occurred while creating the page.' );\n\n\t\t\tcreateErrorNotice( errorMessage, {\n\t\t\t\ttype: 'snackbar',\n\t\t\t} );\n\t\t} finally {\n\t\t\tsetIsCreatingPage( false );\n\t\t}\n\t}\n\n\treturn (\n\t\t<Modal title={ __( 'Draft a new page' ) } onRequestClose={ onClose }>\n\t\t\t<form onSubmit={ createPage }>\n\t\t\t\t<VStack spacing={ 3 }>\n\t\t\t\t\t<TextControl\n\t\t\t\t\t\tlabel={ __( 'Page title' ) }\n\t\t\t\t\t\tonChange={ setTitle }\n\t\t\t\t\t\tplaceholder={ __( 'No title' ) }\n\t\t\t\t\t\tvalue={ title }\n\t\t\t\t\t/>\n\t\t\t\t\t<HStack spacing={ 2 } justify=\"end\">\n\t\t\t\t\t\t<Button variant=\"tertiary\" onClick={ onClose }>\n\t\t\t\t\t\t\t{ __( 'Cancel' ) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\ttype=\"submit\"\n\t\t\t\t\t\t\tisBusy={ isCreatingPage }\n\t\t\t\t\t\t\taria-disabled={ isCreatingPage }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Create draft' ) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</HStack>\n\t\t\t\t</VStack>\n\t\t\t</form>\n\t\t</Modal>\n\t);\n}\n"]}
@@ -7,6 +7,7 @@ import { DropdownMenu } from '@wordpress/components';
7
7
  import { useState } from '@wordpress/element';
8
8
  import { __ } from '@wordpress/i18n';
9
9
  import { plus, header, file } from '@wordpress/icons';
10
+ import { useSelect } from '@wordpress/data';
10
11
  import { privateApis as routerPrivateApis } from '@wordpress/router';
11
12
  /**
12
13
  * Internal dependencies
@@ -16,6 +17,7 @@ import CreatePatternModal from '../create-pattern-modal';
16
17
  import CreateTemplatePartModal from '../create-template-part-modal';
17
18
  import SidebarButton from '../sidebar-button';
18
19
  import { unlock } from '../../lock-unlock';
20
+ import { store as editSiteStore } from '../../store';
19
21
  const {
20
22
  useHistory
21
23
  } = unlock(routerPrivateApis);
@@ -23,6 +25,10 @@ export default function AddNewPattern() {
23
25
  const history = useHistory();
24
26
  const [showPatternModal, setShowPatternModal] = useState(false);
25
27
  const [showTemplatePartModal, setShowTemplatePartModal] = useState(false);
28
+ const isTemplatePartsMode = useSelect(select => {
29
+ const settings = select(editSiteStore).getSettings();
30
+ return !!settings.supportsTemplatePartsMode;
31
+ }, []);
26
32
 
27
33
  function handleCreatePattern({
28
34
  pattern,
@@ -54,7 +60,7 @@ export default function AddNewPattern() {
54
60
  }
55
61
 
56
62
  return createElement(Fragment, null, createElement(DropdownMenu, {
57
- controls: [{
63
+ controls: [!isTemplatePartsMode && {
58
64
  icon: header,
59
65
  onClick: () => setShowTemplatePartModal(true),
60
66
  title: __('Create template part')
@@ -62,7 +68,7 @@ export default function AddNewPattern() {
62
68
  icon: file,
63
69
  onClick: () => setShowPatternModal(true),
64
70
  title: __('Create pattern')
65
- }],
71
+ }].filter(Boolean),
66
72
  toggleProps: {
67
73
  as: SidebarButton
68
74
  },