@wordpress/block-library 6.0.18 → 6.0.24

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 (78) hide show
  1. package/build/gallery/deprecated.js +1 -5
  2. package/build/gallery/deprecated.js.map +1 -1
  3. package/build/gallery/edit.js +0 -7
  4. package/build/gallery/edit.js.map +1 -1
  5. package/build/navigation/edit/index.js +8 -2
  6. package/build/navigation/edit/index.js.map +1 -1
  7. package/build/navigation/edit/navigation-menu-selector.js +42 -4
  8. package/build/navigation/edit/navigation-menu-selector.js.map +1 -1
  9. package/build/navigation/edit/placeholder/index.js +6 -41
  10. package/build/navigation/edit/placeholder/index.js.map +1 -1
  11. package/build/navigation/index.js +0 -1
  12. package/build/navigation/index.js.map +1 -1
  13. package/build/navigation/use-convert-classic-menu.js +59 -0
  14. package/build/navigation/use-convert-classic-menu.js.map +1 -0
  15. package/build/navigation/view.js +1 -1
  16. package/build/navigation/view.js.map +1 -1
  17. package/build/site-logo/edit.js +2 -2
  18. package/build/site-logo/edit.js.map +1 -1
  19. package/build/template-part/index.js +0 -8
  20. package/build/template-part/index.js.map +1 -1
  21. package/build-module/gallery/deprecated.js +2 -6
  22. package/build-module/gallery/deprecated.js.map +1 -1
  23. package/build-module/gallery/edit.js +0 -6
  24. package/build-module/gallery/edit.js.map +1 -1
  25. package/build-module/navigation/edit/index.js +7 -2
  26. package/build-module/navigation/edit/index.js.map +1 -1
  27. package/build-module/navigation/edit/navigation-menu-selector.js +39 -4
  28. package/build-module/navigation/edit/navigation-menu-selector.js.map +1 -1
  29. package/build-module/navigation/edit/placeholder/index.js +5 -41
  30. package/build-module/navigation/edit/placeholder/index.js.map +1 -1
  31. package/build-module/navigation/index.js +0 -1
  32. package/build-module/navigation/index.js.map +1 -1
  33. package/build-module/navigation/use-convert-classic-menu.js +47 -0
  34. package/build-module/navigation/use-convert-classic-menu.js.map +1 -0
  35. package/build-module/navigation/view.js +1 -1
  36. package/build-module/navigation/view.js.map +1 -1
  37. package/build-module/site-logo/edit.js +2 -2
  38. package/build-module/site-logo/edit.js.map +1 -1
  39. package/build-module/template-part/index.js +0 -8
  40. package/build-module/template-part/index.js.map +1 -1
  41. package/build-style/common-rtl.css +2 -2
  42. package/build-style/common.css +2 -2
  43. package/build-style/editor-rtl.css +2 -2
  44. package/build-style/editor.css +2 -2
  45. package/build-style/navigation/style-rtl.css +1 -0
  46. package/build-style/navigation/style.css +1 -0
  47. package/build-style/page-list/style-rtl.css +4 -4
  48. package/build-style/page-list/style.css +4 -4
  49. package/build-style/post-template/style-rtl.css +2 -29
  50. package/build-style/post-template/style.css +2 -29
  51. package/build-style/style-rtl.css +9 -35
  52. package/build-style/style.css +9 -35
  53. package/package.json +8 -9
  54. package/src/common.scss +2 -2
  55. package/src/editor.scss +2 -2
  56. package/src/gallery/deprecated.js +2 -5
  57. package/src/gallery/edit.js +0 -7
  58. package/src/navigation/block.json +0 -1
  59. package/src/navigation/edit/index.js +9 -1
  60. package/src/navigation/edit/navigation-menu-selector.js +65 -15
  61. package/src/navigation/edit/placeholder/index.js +9 -44
  62. package/src/navigation/style.scss +1 -0
  63. package/src/navigation/use-convert-classic-menu.js +58 -0
  64. package/src/navigation/view.js +1 -1
  65. package/src/navigation-submenu/index.php +2 -2
  66. package/src/page-list/index.php +1 -1
  67. package/src/page-list/style.scss +4 -4
  68. package/src/post-content/index.php +5 -0
  69. package/src/post-template/style.scss +2 -13
  70. package/src/query-pagination-next/index.php +3 -2
  71. package/src/search/index.php +9 -9
  72. package/src/site-logo/edit.js +3 -2
  73. package/src/template-part/block.json +0 -8
  74. package/build/gallery/use-mobile-warning.js +0 -43
  75. package/build/gallery/use-mobile-warning.js.map +0 -1
  76. package/build-module/gallery/use-mobile-warning.js +0 -32
  77. package/build-module/gallery/use-mobile-warning.js.map +0 -1
  78. package/src/gallery/use-mobile-warning.js +0 -28
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/navigation/edit/placeholder/index.js"],"names":["createBlock","Placeholder","Button","DropdownMenu","MenuGroup","MenuItem","useCallback","useState","useEffect","__","navigation","Icon","decodeEntities","useNavigationEntities","PlaceholderPreview","menuItemsToBlocks","useNavigationMenu","useCreateNavigationMenu","ExistingMenusDropdown","canSwitchNavigationMenu","navigationMenus","setSelectedMenu","onFinish","menus","onCreateFromMenu","showClassicMenus","toggleProps","variant","iconPosition","className","isAlternate","onClose","map","menu","id","title","rendered","name","NavigationPlaceholder","clientId","hasResolvedNavigationMenus","canUserCreateNavigation","selectedMenu","isCreatingFromMenu","setIsCreatingFromMenu","menuName","setMenuName","createNavigationMenu","onFinishMenuCreation","blocks","navigationMenuTitle","navigationMenu","isResolvingPages","isResolvingMenus","menuItems","hasResolvedMenuItems","hasPages","hasMenus","isStillLoading","createFromMenu","innerBlocks","onCreateEmptyMenu","onCreateAllPages","block","length","undefined"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { createBlock } from '@wordpress/blocks';\nimport {\n\tPlaceholder,\n\tButton,\n\tDropdownMenu,\n\tMenuGroup,\n\tMenuItem,\n} from '@wordpress/components';\nimport { useCallback, useState, useEffect } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport { navigation, Icon } from '@wordpress/icons';\nimport { decodeEntities } from '@wordpress/html-entities';\n\n/**\n * Internal dependencies\n */\n\nimport useNavigationEntities from '../../use-navigation-entities';\nimport PlaceholderPreview from './placeholder-preview';\nimport menuItemsToBlocks from '../../menu-items-to-blocks';\nimport useNavigationMenu from '../../use-navigation-menu';\nimport useCreateNavigationMenu from '../use-create-navigation-menu';\n\nconst ExistingMenusDropdown = ( {\n\tcanSwitchNavigationMenu,\n\tnavigationMenus,\n\tsetSelectedMenu,\n\tonFinish,\n\tmenus,\n\tonCreateFromMenu,\n\tshowClassicMenus = false,\n} ) => {\n\tconst toggleProps = {\n\t\tvariant: 'tertiary',\n\t\ticonPosition: 'right',\n\t\tclassName: 'wp-block-navigation-placeholder__actions__dropdown',\n\t};\n\treturn (\n\t\t<DropdownMenu\n\t\t\ttext={ __( 'Select menu' ) }\n\t\t\ticon={ null }\n\t\t\ttoggleProps={ toggleProps }\n\t\t\tpopoverProps={ { isAlternate: true } }\n\t\t>\n\t\t\t{ ( { onClose } ) => (\n\t\t\t\t<>\n\t\t\t\t\t<MenuGroup label={ __( 'Menus' ) }>\n\t\t\t\t\t\t{ canSwitchNavigationMenu &&\n\t\t\t\t\t\t\tnavigationMenus?.map( ( menu ) => {\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\t\tsetSelectedMenu( menu.id );\n\t\t\t\t\t\t\t\t\t\t\tonFinish( menu );\n\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\tonClose={ onClose }\n\t\t\t\t\t\t\t\t\t\tkey={ menu.id }\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ decodeEntities(\n\t\t\t\t\t\t\t\t\t\t\tmenu.title.rendered\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t} ) }\n\t\t\t\t\t</MenuGroup>\n\t\t\t\t\t{ showClassicMenus && (\n\t\t\t\t\t\t<MenuGroup label={ __( 'Classic Menus' ) }>\n\t\t\t\t\t\t\t{ menus?.map( ( menu ) => {\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\t\tsetSelectedMenu( menu.id );\n\t\t\t\t\t\t\t\t\t\t\tonCreateFromMenu( menu.name );\n\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\tonClose={ onClose }\n\t\t\t\t\t\t\t\t\t\tkey={ menu.id }\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ decodeEntities( menu.name ) }\n\t\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t} ) }\n\t\t\t\t\t\t</MenuGroup>\n\t\t\t\t\t) }\n\t\t\t\t</>\n\t\t\t) }\n\t\t</DropdownMenu>\n\t);\n};\n\nexport default function NavigationPlaceholder( {\n\tclientId,\n\tonFinish,\n\tcanSwitchNavigationMenu,\n\thasResolvedNavigationMenus,\n\tcanUserCreateNavigation = false,\n} ) {\n\tconst [ selectedMenu, setSelectedMenu ] = useState();\n\tconst [ isCreatingFromMenu, setIsCreatingFromMenu ] = useState( false );\n\tconst [ menuName, setMenuName ] = useState( '' );\n\tconst createNavigationMenu = useCreateNavigationMenu( clientId );\n\n\tconst onFinishMenuCreation = async (\n\t\tblocks,\n\t\tnavigationMenuTitle = null\n\t) => {\n\t\tif ( ! canUserCreateNavigation ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst navigationMenu = await createNavigationMenu(\n\t\t\tnavigationMenuTitle,\n\t\t\tblocks\n\t\t);\n\t\tonFinish( navigationMenu, blocks );\n\t};\n\n\tconst {\n\t\tisResolvingPages,\n\t\tmenus,\n\t\tisResolvingMenus,\n\t\tmenuItems,\n\t\thasResolvedMenuItems,\n\t\thasPages,\n\t\thasMenus,\n\t} = useNavigationEntities( selectedMenu );\n\n\tconst isStillLoading = isResolvingPages || isResolvingMenus;\n\n\tconst createFromMenu = useCallback(\n\t\t( name ) => {\n\t\t\tconst { innerBlocks: blocks } = menuItemsToBlocks( menuItems );\n\t\t\tonFinishMenuCreation( blocks, name );\n\t\t},\n\t\t[ menuItems, menuItemsToBlocks, onFinish ]\n\t);\n\n\tconst onCreateFromMenu = ( name ) => {\n\t\t// If we have menu items, create the block right away.\n\t\tif ( hasResolvedMenuItems ) {\n\t\t\tcreateFromMenu( name );\n\t\t\treturn;\n\t\t}\n\n\t\t// Otherwise, create the block when resolution finishes.\n\t\tsetIsCreatingFromMenu( true );\n\t\t// Store the name to use later.\n\t\tsetMenuName( name );\n\t};\n\n\tconst onCreateEmptyMenu = () => {\n\t\tonFinishMenuCreation( [] );\n\t};\n\n\tconst onCreateAllPages = () => {\n\t\tconst block = [ createBlock( 'core/page-list' ) ];\n\t\tonFinishMenuCreation( block );\n\t};\n\n\tuseEffect( () => {\n\t\t// If the user selected a menu but we had to wait for menu items to\n\t\t// finish resolving, then create the block once resolution finishes.\n\t\tif ( isCreatingFromMenu && hasResolvedMenuItems ) {\n\t\t\tcreateFromMenu( menuName );\n\t\t\tsetIsCreatingFromMenu( false );\n\t\t}\n\t}, [ isCreatingFromMenu, hasResolvedMenuItems, menuName ] );\n\n\tconst { navigationMenus } = useNavigationMenu();\n\n\treturn (\n\t\t<>\n\t\t\t{ ( ! hasResolvedNavigationMenus || isStillLoading ) && (\n\t\t\t\t<PlaceholderPreview isLoading />\n\t\t\t) }\n\t\t\t{ hasResolvedNavigationMenus && ! isStillLoading && (\n\t\t\t\t<Placeholder className=\"wp-block-navigation-placeholder\">\n\t\t\t\t\t<PlaceholderPreview />\n\t\t\t\t\t<div className=\"wp-block-navigation-placeholder__controls\">\n\t\t\t\t\t\t<div className=\"wp-block-navigation-placeholder__actions\">\n\t\t\t\t\t\t\t<div className=\"wp-block-navigation-placeholder__actions__indicator\">\n\t\t\t\t\t\t\t\t<Icon icon={ navigation } />{ ' ' }\n\t\t\t\t\t\t\t\t{ __( 'Navigation' ) }\n\t\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t\t<hr />\n\n\t\t\t\t\t\t\t{ hasMenus || navigationMenus?.length ? (\n\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t<ExistingMenusDropdown\n\t\t\t\t\t\t\t\t\t\tcanSwitchNavigationMenu={\n\t\t\t\t\t\t\t\t\t\t\tcanSwitchNavigationMenu\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tnavigationMenus={ navigationMenus }\n\t\t\t\t\t\t\t\t\t\tsetSelectedMenu={ setSelectedMenu }\n\t\t\t\t\t\t\t\t\t\tonFinish={ onFinish }\n\t\t\t\t\t\t\t\t\t\tmenus={ menus }\n\t\t\t\t\t\t\t\t\t\tonCreateFromMenu={ onCreateFromMenu }\n\t\t\t\t\t\t\t\t\t\tshowClassicMenus={\n\t\t\t\t\t\t\t\t\t\t\tcanUserCreateNavigation\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\t<hr />\n\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t) : undefined }\n\t\t\t\t\t\t\t{ canUserCreateNavigation && hasPages ? (\n\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\t\t\t\tonClick={ onCreateAllPages }\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ __( 'Add all pages' ) }\n\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t\t<hr />\n\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t) : undefined }\n\n\t\t\t\t\t\t\t{ canUserCreateNavigation && (\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\t\t\tonClick={ onCreateEmptyMenu }\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ __( 'Start empty' ) }\n\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</Placeholder>\n\t\t\t) }\n\t\t</>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/navigation/edit/placeholder/index.js"],"names":["createBlock","Placeholder","Button","DropdownMenu","MenuGroup","MenuItem","__","navigation","Icon","decodeEntities","useNavigationEntities","PlaceholderPreview","useNavigationMenu","useCreateNavigationMenu","useConvertClassicMenu","ExistingMenusDropdown","canSwitchNavigationMenu","navigationMenus","onFinish","menus","onCreateFromMenu","showClassicMenus","toggleProps","variant","iconPosition","className","isAlternate","onClose","map","menu","id","title","rendered","name","NavigationPlaceholder","clientId","hasResolvedNavigationMenus","canUserCreateNavigation","createNavigationMenu","onFinishMenuCreation","blocks","navigationMenuTitle","navigationMenu","convertClassicMenu","isResolvingPages","isResolvingMenus","hasPages","hasMenus","isStillLoading","onCreateEmptyMenu","onCreateAllPages","block","length","undefined"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { createBlock } from '@wordpress/blocks';\nimport {\n\tPlaceholder,\n\tButton,\n\tDropdownMenu,\n\tMenuGroup,\n\tMenuItem,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { navigation, Icon } from '@wordpress/icons';\nimport { decodeEntities } from '@wordpress/html-entities';\n\n/**\n * Internal dependencies\n */\n\nimport useNavigationEntities from '../../use-navigation-entities';\nimport PlaceholderPreview from './placeholder-preview';\nimport useNavigationMenu from '../../use-navigation-menu';\nimport useCreateNavigationMenu from '../use-create-navigation-menu';\nimport useConvertClassicMenu from '../../use-convert-classic-menu';\n\nconst ExistingMenusDropdown = ( {\n\tcanSwitchNavigationMenu,\n\tnavigationMenus,\n\tonFinish,\n\tmenus,\n\tonCreateFromMenu,\n\tshowClassicMenus = false,\n} ) => {\n\tconst toggleProps = {\n\t\tvariant: 'tertiary',\n\t\ticonPosition: 'right',\n\t\tclassName: 'wp-block-navigation-placeholder__actions__dropdown',\n\t};\n\treturn (\n\t\t<DropdownMenu\n\t\t\ttext={ __( 'Select menu' ) }\n\t\t\ticon={ null }\n\t\t\ttoggleProps={ toggleProps }\n\t\t\tpopoverProps={ { isAlternate: true } }\n\t\t>\n\t\t\t{ ( { onClose } ) => (\n\t\t\t\t<>\n\t\t\t\t\t<MenuGroup label={ __( 'Menus' ) }>\n\t\t\t\t\t\t{ canSwitchNavigationMenu &&\n\t\t\t\t\t\t\tnavigationMenus?.map( ( menu ) => {\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\t\tonFinish( menu );\n\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\tonClose={ onClose }\n\t\t\t\t\t\t\t\t\t\tkey={ menu.id }\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ decodeEntities(\n\t\t\t\t\t\t\t\t\t\t\tmenu.title.rendered\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t} ) }\n\t\t\t\t\t</MenuGroup>\n\t\t\t\t\t{ showClassicMenus && (\n\t\t\t\t\t\t<MenuGroup label={ __( 'Classic Menus' ) }>\n\t\t\t\t\t\t\t{ menus?.map( ( menu ) => {\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\t\tonCreateFromMenu(\n\t\t\t\t\t\t\t\t\t\t\t\tmenu.id,\n\t\t\t\t\t\t\t\t\t\t\t\tmenu.name\n\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\tonClose={ onClose }\n\t\t\t\t\t\t\t\t\t\tkey={ menu.id }\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ decodeEntities( menu.name ) }\n\t\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t} ) }\n\t\t\t\t\t\t</MenuGroup>\n\t\t\t\t\t) }\n\t\t\t\t</>\n\t\t\t) }\n\t\t</DropdownMenu>\n\t);\n};\n\nexport default function NavigationPlaceholder( {\n\tclientId,\n\tonFinish,\n\tcanSwitchNavigationMenu,\n\thasResolvedNavigationMenus,\n\tcanUserCreateNavigation = false,\n} ) {\n\tconst createNavigationMenu = useCreateNavigationMenu( clientId );\n\n\tconst onFinishMenuCreation = async (\n\t\tblocks,\n\t\tnavigationMenuTitle = null\n\t) => {\n\t\tif ( ! canUserCreateNavigation ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst navigationMenu = await createNavigationMenu(\n\t\t\tnavigationMenuTitle,\n\t\t\tblocks\n\t\t);\n\t\tonFinish( navigationMenu, blocks );\n\t};\n\n\tconst convertClassicMenu = useConvertClassicMenu( onFinishMenuCreation );\n\n\tconst {\n\t\tisResolvingPages,\n\t\tmenus,\n\t\tisResolvingMenus,\n\t\thasPages,\n\t\thasMenus,\n\t} = useNavigationEntities();\n\n\tconst isStillLoading = isResolvingPages || isResolvingMenus;\n\n\tconst onCreateEmptyMenu = () => {\n\t\tonFinishMenuCreation( [] );\n\t};\n\n\tconst onCreateAllPages = () => {\n\t\tconst block = [ createBlock( 'core/page-list' ) ];\n\t\tonFinishMenuCreation( block );\n\t};\n\n\tconst { navigationMenus } = useNavigationMenu();\n\n\treturn (\n\t\t<>\n\t\t\t{ ( ! hasResolvedNavigationMenus || isStillLoading ) && (\n\t\t\t\t<PlaceholderPreview isLoading />\n\t\t\t) }\n\t\t\t{ hasResolvedNavigationMenus && ! isStillLoading && (\n\t\t\t\t<Placeholder className=\"wp-block-navigation-placeholder\">\n\t\t\t\t\t<PlaceholderPreview />\n\t\t\t\t\t<div className=\"wp-block-navigation-placeholder__controls\">\n\t\t\t\t\t\t<div className=\"wp-block-navigation-placeholder__actions\">\n\t\t\t\t\t\t\t<div className=\"wp-block-navigation-placeholder__actions__indicator\">\n\t\t\t\t\t\t\t\t<Icon icon={ navigation } />{ ' ' }\n\t\t\t\t\t\t\t\t{ __( 'Navigation' ) }\n\t\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t\t<hr />\n\n\t\t\t\t\t\t\t{ hasMenus || navigationMenus?.length ? (\n\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t<ExistingMenusDropdown\n\t\t\t\t\t\t\t\t\t\tcanSwitchNavigationMenu={\n\t\t\t\t\t\t\t\t\t\t\tcanSwitchNavigationMenu\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tnavigationMenus={ navigationMenus }\n\t\t\t\t\t\t\t\t\t\tonFinish={ onFinish }\n\t\t\t\t\t\t\t\t\t\tmenus={ menus }\n\t\t\t\t\t\t\t\t\t\tonCreateFromMenu={ convertClassicMenu }\n\t\t\t\t\t\t\t\t\t\tshowClassicMenus={\n\t\t\t\t\t\t\t\t\t\t\tcanUserCreateNavigation\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\t<hr />\n\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t) : undefined }\n\t\t\t\t\t\t\t{ canUserCreateNavigation && hasPages ? (\n\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\t\t\t\tonClick={ onCreateAllPages }\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ __( 'Add all pages' ) }\n\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t\t<hr />\n\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t) : undefined }\n\n\t\t\t\t\t\t\t{ canUserCreateNavigation && (\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\t\t\tonClick={ onCreateEmptyMenu }\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ __( 'Start empty' ) }\n\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</Placeholder>\n\t\t\t) }\n\t\t</>\n\t);\n}\n"]}
@@ -94,7 +94,6 @@ const metadata = {
94
94
  __experimentalFontWeight: true,
95
95
  __experimentalTextTransform: true,
96
96
  __experimentalFontFamily: true,
97
- __experimentalTextDecoration: true,
98
97
  __experimentalDefaultControls: {
99
98
  fontSize: true
100
99
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/navigation/index.js"],"names":["__","navigation","icon","edit","save","deprecated","name","metadata","settings","example","innerBlocks","attributes","label","url"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,EAAT,QAAmB,iBAAnB;AACA,SAASC,UAAU,IAAIC,IAAvB,QAAmC,kBAAnC;AAEA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,OAAOC,IAAP,MAAiB,QAAjB;AACA,OAAOC,IAAP,MAAiB,QAAjB;AACA,OAAOC,UAAP,MAAuB,cAAvB;AAEA,MAAM;AAAEC,EAAAA;AAAF,IAAWC,QAAjB;AAEA,SAASA,QAAT,EAAmBD,IAAnB;AAEA,OAAO,MAAME,QAAQ,GAAG;AACvBN,EAAAA,IADuB;AAEvBO,EAAAA,OAAO,EAAE;AACRC,IAAAA,WAAW,EAAE,CACZ;AACCJ,MAAAA,IAAI,EAAE,sBADP;AAECK,MAAAA,UAAU,EAAE;AACX;AACAC,QAAAA,KAAK,EAAEZ,EAAE,CAAE,MAAF,CAFE;AAGXa,QAAAA,GAAG,EAAE;AAHM;AAFb,KADY,EASZ;AACCP,MAAAA,IAAI,EAAE,sBADP;AAECK,MAAAA,UAAU,EAAE;AACX;AACAC,QAAAA,KAAK,EAAEZ,EAAE,CAAE,OAAF,CAFE;AAGXa,QAAAA,GAAG,EAAE;AAHM;AAFb,KATY,EAiBZ;AACCP,MAAAA,IAAI,EAAE,sBADP;AAECK,MAAAA,UAAU,EAAE;AACX;AACAC,QAAAA,KAAK,EAAEZ,EAAE,CAAE,SAAF,CAFE;AAGXa,QAAAA,GAAG,EAAE;AAHM;AAFb,KAjBY;AADL,GAFc;AA8BvBV,EAAAA,IA9BuB;AA+BvBC,EAAAA,IA/BuB;AAgCvBC,EAAAA;AAhCuB,CAAjB","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { navigation as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport metadata from './block.json';\nimport edit from './edit';\nimport save from './save';\nimport deprecated from './deprecated';\n\nconst { name } = metadata;\n\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\texample: {\n\t\tinnerBlocks: [\n\t\t\t{\n\t\t\t\tname: 'core/navigation-link',\n\t\t\t\tattributes: {\n\t\t\t\t\t// translators: 'Home' as in a website's home page.\n\t\t\t\t\tlabel: __( 'Home' ),\n\t\t\t\t\turl: 'https://make.wordpress.org/',\n\t\t\t\t},\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'core/navigation-link',\n\t\t\t\tattributes: {\n\t\t\t\t\t// translators: 'About' as in a website's about page.\n\t\t\t\t\tlabel: __( 'About' ),\n\t\t\t\t\turl: 'https://make.wordpress.org/',\n\t\t\t\t},\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'core/navigation-link',\n\t\t\t\tattributes: {\n\t\t\t\t\t// translators: 'Contact' as in a website's contact page.\n\t\t\t\t\tlabel: __( 'Contact' ),\n\t\t\t\t\turl: 'https://make.wordpress.org/',\n\t\t\t\t},\n\t\t\t},\n\t\t],\n\t},\n\tedit,\n\tsave,\n\tdeprecated,\n};\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/navigation/index.js"],"names":["__","navigation","icon","edit","save","deprecated","name","metadata","settings","example","innerBlocks","attributes","label","url"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,EAAT,QAAmB,iBAAnB;AACA,SAASC,UAAU,IAAIC,IAAvB,QAAmC,kBAAnC;AAEA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,OAAOC,IAAP,MAAiB,QAAjB;AACA,OAAOC,IAAP,MAAiB,QAAjB;AACA,OAAOC,UAAP,MAAuB,cAAvB;AAEA,MAAM;AAAEC,EAAAA;AAAF,IAAWC,QAAjB;AAEA,SAASA,QAAT,EAAmBD,IAAnB;AAEA,OAAO,MAAME,QAAQ,GAAG;AACvBN,EAAAA,IADuB;AAEvBO,EAAAA,OAAO,EAAE;AACRC,IAAAA,WAAW,EAAE,CACZ;AACCJ,MAAAA,IAAI,EAAE,sBADP;AAECK,MAAAA,UAAU,EAAE;AACX;AACAC,QAAAA,KAAK,EAAEZ,EAAE,CAAE,MAAF,CAFE;AAGXa,QAAAA,GAAG,EAAE;AAHM;AAFb,KADY,EASZ;AACCP,MAAAA,IAAI,EAAE,sBADP;AAECK,MAAAA,UAAU,EAAE;AACX;AACAC,QAAAA,KAAK,EAAEZ,EAAE,CAAE,OAAF,CAFE;AAGXa,QAAAA,GAAG,EAAE;AAHM;AAFb,KATY,EAiBZ;AACCP,MAAAA,IAAI,EAAE,sBADP;AAECK,MAAAA,UAAU,EAAE;AACX;AACAC,QAAAA,KAAK,EAAEZ,EAAE,CAAE,SAAF,CAFE;AAGXa,QAAAA,GAAG,EAAE;AAHM;AAFb,KAjBY;AADL,GAFc;AA8BvBV,EAAAA,IA9BuB;AA+BvBC,EAAAA,IA/BuB;AAgCvBC,EAAAA;AAhCuB,CAAjB","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { navigation as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport metadata from './block.json';\nimport edit from './edit';\nimport save from './save';\nimport deprecated from './deprecated';\n\nconst { name } = metadata;\n\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\texample: {\n\t\tinnerBlocks: [\n\t\t\t{\n\t\t\t\tname: 'core/navigation-link',\n\t\t\t\tattributes: {\n\t\t\t\t\t// translators: 'Home' as in a website's home page.\n\t\t\t\t\tlabel: __( 'Home' ),\n\t\t\t\t\turl: 'https://make.wordpress.org/',\n\t\t\t\t},\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'core/navigation-link',\n\t\t\t\tattributes: {\n\t\t\t\t\t// translators: 'About' as in a website's about page.\n\t\t\t\t\tlabel: __( 'About' ),\n\t\t\t\t\turl: 'https://make.wordpress.org/',\n\t\t\t\t},\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'core/navigation-link',\n\t\t\t\tattributes: {\n\t\t\t\t\t// translators: 'Contact' as in a website's contact page.\n\t\t\t\t\tlabel: __( 'Contact' ),\n\t\t\t\t\turl: 'https://make.wordpress.org/',\n\t\t\t\t},\n\t\t\t},\n\t\t],\n\t},\n\tedit,\n\tsave,\n\tdeprecated,\n};\n"]}
@@ -0,0 +1,47 @@
1
+ /**
2
+ * WordPress dependencies
3
+ */
4
+ import { useCallback, useState, useEffect } from '@wordpress/element';
5
+ /**
6
+ * Internal dependencies
7
+ */
8
+
9
+ import useNavigationEntities from './use-navigation-entities';
10
+ import menuItemsToBlocks from './menu-items-to-blocks';
11
+ export default function useConvertClassicMenu(onFinish) {
12
+ const [selectedMenu, setSelectedMenu] = useState();
13
+ const [isAwaitingMenuItemResolution, setIsAwaitingMenuItemResolution] = useState(false);
14
+ const [menuName, setMenuName] = useState('');
15
+ const {
16
+ menuItems,
17
+ hasResolvedMenuItems
18
+ } = useNavigationEntities(selectedMenu);
19
+ const createFromMenu = useCallback(name => {
20
+ const {
21
+ innerBlocks: blocks
22
+ } = menuItemsToBlocks(menuItems);
23
+ onFinish(blocks, name);
24
+ }, [menuItems, menuItemsToBlocks, onFinish]);
25
+ useEffect(() => {
26
+ // If the user selected a menu but we had to wait for menu items to
27
+ // finish resolving, then create the block once resolution finishes.
28
+ if (isAwaitingMenuItemResolution && hasResolvedMenuItems) {
29
+ createFromMenu(menuName);
30
+ setIsAwaitingMenuItemResolution(false);
31
+ }
32
+ }, [isAwaitingMenuItemResolution, hasResolvedMenuItems, menuName]);
33
+ return useCallback((id, name) => {
34
+ setSelectedMenu(id); // If we have menu items, create the block right away.
35
+
36
+ if (hasResolvedMenuItems) {
37
+ createFromMenu(name);
38
+ return;
39
+ } // Otherwise, create the block when resolution finishes.
40
+
41
+
42
+ setIsAwaitingMenuItemResolution(true); // Store the name to use later.
43
+
44
+ setMenuName(name);
45
+ }, [hasResolvedMenuItems, createFromMenu]);
46
+ }
47
+ //# sourceMappingURL=use-convert-classic-menu.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["@wordpress/block-library/src/navigation/use-convert-classic-menu.js"],"names":["useCallback","useState","useEffect","useNavigationEntities","menuItemsToBlocks","useConvertClassicMenu","onFinish","selectedMenu","setSelectedMenu","isAwaitingMenuItemResolution","setIsAwaitingMenuItemResolution","menuName","setMenuName","menuItems","hasResolvedMenuItems","createFromMenu","name","innerBlocks","blocks","id"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,WAAT,EAAsBC,QAAtB,EAAgCC,SAAhC,QAAiD,oBAAjD;AAEA;AACA;AACA;;AACA,OAAOC,qBAAP,MAAkC,2BAAlC;AACA,OAAOC,iBAAP,MAA8B,wBAA9B;AAEA,eAAe,SAASC,qBAAT,CAAgCC,QAAhC,EAA2C;AACzD,QAAM,CAAEC,YAAF,EAAgBC,eAAhB,IAAoCP,QAAQ,EAAlD;AACA,QAAM,CACLQ,4BADK,EAELC,+BAFK,IAGFT,QAAQ,CAAE,KAAF,CAHZ;AAIA,QAAM,CAAEU,QAAF,EAAYC,WAAZ,IAA4BX,QAAQ,CAAE,EAAF,CAA1C;AAEA,QAAM;AAAEY,IAAAA,SAAF;AAAaC,IAAAA;AAAb,MAAsCX,qBAAqB,CAChEI,YADgE,CAAjE;AAIA,QAAMQ,cAAc,GAAGf,WAAW,CAC/BgB,IAAF,IAAY;AACX,UAAM;AAAEC,MAAAA,WAAW,EAAEC;AAAf,QAA0Bd,iBAAiB,CAAES,SAAF,CAAjD;AACAP,IAAAA,QAAQ,CAAEY,MAAF,EAAUF,IAAV,CAAR;AACA,GAJgC,EAKjC,CAAEH,SAAF,EAAaT,iBAAb,EAAgCE,QAAhC,CALiC,CAAlC;AAQAJ,EAAAA,SAAS,CAAE,MAAM;AAChB;AACA;AACA,QAAKO,4BAA4B,IAAIK,oBAArC,EAA4D;AAC3DC,MAAAA,cAAc,CAAEJ,QAAF,CAAd;AACAD,MAAAA,+BAA+B,CAAE,KAAF,CAA/B;AACA;AACD,GAPQ,EAON,CAAED,4BAAF,EAAgCK,oBAAhC,EAAsDH,QAAtD,CAPM,CAAT;AASA,SAAOX,WAAW,CACjB,CAAEmB,EAAF,EAAMH,IAAN,KAAgB;AACfR,IAAAA,eAAe,CAAEW,EAAF,CAAf,CADe,CAGf;;AACA,QAAKL,oBAAL,EAA4B;AAC3BC,MAAAA,cAAc,CAAEC,IAAF,CAAd;AACA;AACA,KAPc,CASf;;;AACAN,IAAAA,+BAA+B,CAAE,IAAF,CAA/B,CAVe,CAWf;;AACAE,IAAAA,WAAW,CAAEI,IAAF,CAAX;AACA,GAdgB,EAejB,CAAEF,oBAAF,EAAwBC,cAAxB,CAfiB,CAAlB;AAiBA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useCallback, useState, useEffect } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport useNavigationEntities from './use-navigation-entities';\nimport menuItemsToBlocks from './menu-items-to-blocks';\n\nexport default function useConvertClassicMenu( onFinish ) {\n\tconst [ selectedMenu, setSelectedMenu ] = useState();\n\tconst [\n\t\tisAwaitingMenuItemResolution,\n\t\tsetIsAwaitingMenuItemResolution,\n\t] = useState( false );\n\tconst [ menuName, setMenuName ] = useState( '' );\n\n\tconst { menuItems, hasResolvedMenuItems } = useNavigationEntities(\n\t\tselectedMenu\n\t);\n\n\tconst createFromMenu = useCallback(\n\t\t( name ) => {\n\t\t\tconst { innerBlocks: blocks } = menuItemsToBlocks( menuItems );\n\t\t\tonFinish( blocks, name );\n\t\t},\n\t\t[ menuItems, menuItemsToBlocks, onFinish ]\n\t);\n\n\tuseEffect( () => {\n\t\t// If the user selected a menu but we had to wait for menu items to\n\t\t// finish resolving, then create the block once resolution finishes.\n\t\tif ( isAwaitingMenuItemResolution && hasResolvedMenuItems ) {\n\t\t\tcreateFromMenu( menuName );\n\t\t\tsetIsAwaitingMenuItemResolution( false );\n\t\t}\n\t}, [ isAwaitingMenuItemResolution, hasResolvedMenuItems, menuName ] );\n\n\treturn useCallback(\n\t\t( id, name ) => {\n\t\t\tsetSelectedMenu( id );\n\n\t\t\t// If we have menu items, create the block right away.\n\t\t\tif ( hasResolvedMenuItems ) {\n\t\t\t\tcreateFromMenu( name );\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Otherwise, create the block when resolution finishes.\n\t\t\tsetIsAwaitingMenuItemResolution( true );\n\t\t\t// Store the name to use later.\n\t\t\tsetMenuName( name );\n\t\t},\n\t\t[ hasResolvedMenuItems, createFromMenu ]\n\t);\n}\n"]}
@@ -4,7 +4,7 @@
4
4
  import MicroModal from 'micromodal'; // Responsive navigation toggle.
5
5
 
6
6
  function navigationToggleModal(modal) {
7
- const dialogContainer = document.querySelector(`.wp-block-navigation__responsive-dialog`);
7
+ const dialogContainer = modal.querySelector(`.wp-block-navigation__responsive-dialog`);
8
8
  const isHidden = 'true' === modal.getAttribute('aria-hidden');
9
9
  modal.classList.toggle('has-modal-open', !isHidden);
10
10
  dialogContainer.toggleAttribute('aria-modal', !isHidden);
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/navigation/view.js"],"names":["MicroModal","navigationToggleModal","modal","dialogContainer","document","querySelector","isHidden","getAttribute","classList","toggle","toggleAttribute","removeAttribute","setAttribute","htmlElement","documentElement","closeSubmenus","element","querySelectorAll","forEach","toggleSubmenuOnClick","event","buttonToggle","target","closest","isSubmenuOpen","parentElement","navigationParent","child","window","addEventListener","init","onShow","onClose","openClass","submenuButtons","button","navigationBlocks","block","contains","submenuBlocks"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport MicroModal from 'micromodal';\n\n// Responsive navigation toggle.\nfunction navigationToggleModal( modal ) {\n\tconst dialogContainer = document.querySelector(\n\t\t`.wp-block-navigation__responsive-dialog`\n\t);\n\n\tconst isHidden = 'true' === modal.getAttribute( 'aria-hidden' );\n\n\tmodal.classList.toggle( 'has-modal-open', ! isHidden );\n\tdialogContainer.toggleAttribute( 'aria-modal', ! isHidden );\n\n\tif ( isHidden ) {\n\t\tdialogContainer.removeAttribute( 'role' );\n\t\tdialogContainer.removeAttribute( 'aria-modal' );\n\t} else {\n\t\tdialogContainer.setAttribute( 'role', 'dialog' );\n\t\tdialogContainer.setAttribute( 'aria-modal', 'true' );\n\t}\n\n\t// Add a class to indicate the modal is open.\n\tconst htmlElement = document.documentElement;\n\thtmlElement.classList.toggle( 'has-modal-open' );\n}\n\n// Open on click functionality.\nfunction closeSubmenus( element ) {\n\telement\n\t\t.querySelectorAll( '[aria-expanded=\"true\"]' )\n\t\t.forEach( function ( toggle ) {\n\t\t\ttoggle.setAttribute( 'aria-expanded', 'false' );\n\t\t} );\n}\n\nfunction toggleSubmenuOnClick( event ) {\n\tconst buttonToggle = event.target.closest( '[aria-expanded]' );\n\tconst isSubmenuOpen = buttonToggle.getAttribute( 'aria-expanded' );\n\n\tif ( isSubmenuOpen === 'true' ) {\n\t\tcloseSubmenus( buttonToggle.closest( '.wp-block-navigation-item' ) );\n\t} else {\n\t\t// Close all sibling submenus.\n\t\tconst parentElement = buttonToggle.closest(\n\t\t\t'.wp-block-navigation-item'\n\t\t);\n\t\tconst navigationParent = buttonToggle.closest(\n\t\t\t'.wp-block-navigation__submenu-container, .wp-block-navigation__container, .wp-block-page-list'\n\t\t);\n\t\tnavigationParent\n\t\t\t.querySelectorAll( '.wp-block-navigation-item' )\n\t\t\t.forEach( function ( child ) {\n\t\t\t\tif ( child !== parentElement ) {\n\t\t\t\t\tcloseSubmenus( child );\n\t\t\t\t}\n\t\t\t} );\n\t\t// Open submenu.\n\t\tbuttonToggle.setAttribute( 'aria-expanded', 'true' );\n\t}\n}\n\n// Necessary for some themes such as TT1 Blocks, where\n// scripts could be loaded before the body.\nwindow.addEventListener( 'load', () => {\n\tMicroModal.init( {\n\t\tonShow: navigationToggleModal,\n\t\tonClose: navigationToggleModal,\n\t\topenClass: 'is-menu-open',\n\t} );\n\n\tconst submenuButtons = document.querySelectorAll(\n\t\t'.wp-block-navigation-submenu__toggle'\n\t);\n\n\tsubmenuButtons.forEach( function ( button ) {\n\t\tbutton.addEventListener( 'click', toggleSubmenuOnClick );\n\t} );\n\n\t// Close on click outside.\n\tdocument.addEventListener( 'click', function ( event ) {\n\t\tconst navigationBlocks = document.querySelectorAll(\n\t\t\t'.wp-block-navigation'\n\t\t);\n\t\tnavigationBlocks.forEach( function ( block ) {\n\t\t\tif ( ! block.contains( event.target ) ) {\n\t\t\t\tcloseSubmenus( block );\n\t\t\t}\n\t\t} );\n\t} );\n\t// Close on focus outside.\n\tdocument.addEventListener( 'keyup', function ( event ) {\n\t\tconst submenuBlocks = document.querySelectorAll(\n\t\t\t'.wp-block-navigation-item.has-child'\n\t\t);\n\t\tsubmenuBlocks.forEach( function ( block ) {\n\t\t\tif ( ! block.contains( event.target ) ) {\n\t\t\t\tcloseSubmenus( block );\n\t\t\t}\n\t\t} );\n\t} );\n} );\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/navigation/view.js"],"names":["MicroModal","navigationToggleModal","modal","dialogContainer","querySelector","isHidden","getAttribute","classList","toggle","toggleAttribute","removeAttribute","setAttribute","htmlElement","document","documentElement","closeSubmenus","element","querySelectorAll","forEach","toggleSubmenuOnClick","event","buttonToggle","target","closest","isSubmenuOpen","parentElement","navigationParent","child","window","addEventListener","init","onShow","onClose","openClass","submenuButtons","button","navigationBlocks","block","contains","submenuBlocks"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport MicroModal from 'micromodal';\n\n// Responsive navigation toggle.\nfunction navigationToggleModal( modal ) {\n\tconst dialogContainer = modal.querySelector(\n\t\t`.wp-block-navigation__responsive-dialog`\n\t);\n\n\tconst isHidden = 'true' === modal.getAttribute( 'aria-hidden' );\n\n\tmodal.classList.toggle( 'has-modal-open', ! isHidden );\n\tdialogContainer.toggleAttribute( 'aria-modal', ! isHidden );\n\n\tif ( isHidden ) {\n\t\tdialogContainer.removeAttribute( 'role' );\n\t\tdialogContainer.removeAttribute( 'aria-modal' );\n\t} else {\n\t\tdialogContainer.setAttribute( 'role', 'dialog' );\n\t\tdialogContainer.setAttribute( 'aria-modal', 'true' );\n\t}\n\n\t// Add a class to indicate the modal is open.\n\tconst htmlElement = document.documentElement;\n\thtmlElement.classList.toggle( 'has-modal-open' );\n}\n\n// Open on click functionality.\nfunction closeSubmenus( element ) {\n\telement\n\t\t.querySelectorAll( '[aria-expanded=\"true\"]' )\n\t\t.forEach( function ( toggle ) {\n\t\t\ttoggle.setAttribute( 'aria-expanded', 'false' );\n\t\t} );\n}\n\nfunction toggleSubmenuOnClick( event ) {\n\tconst buttonToggle = event.target.closest( '[aria-expanded]' );\n\tconst isSubmenuOpen = buttonToggle.getAttribute( 'aria-expanded' );\n\n\tif ( isSubmenuOpen === 'true' ) {\n\t\tcloseSubmenus( buttonToggle.closest( '.wp-block-navigation-item' ) );\n\t} else {\n\t\t// Close all sibling submenus.\n\t\tconst parentElement = buttonToggle.closest(\n\t\t\t'.wp-block-navigation-item'\n\t\t);\n\t\tconst navigationParent = buttonToggle.closest(\n\t\t\t'.wp-block-navigation__submenu-container, .wp-block-navigation__container, .wp-block-page-list'\n\t\t);\n\t\tnavigationParent\n\t\t\t.querySelectorAll( '.wp-block-navigation-item' )\n\t\t\t.forEach( function ( child ) {\n\t\t\t\tif ( child !== parentElement ) {\n\t\t\t\t\tcloseSubmenus( child );\n\t\t\t\t}\n\t\t\t} );\n\t\t// Open submenu.\n\t\tbuttonToggle.setAttribute( 'aria-expanded', 'true' );\n\t}\n}\n\n// Necessary for some themes such as TT1 Blocks, where\n// scripts could be loaded before the body.\nwindow.addEventListener( 'load', () => {\n\tMicroModal.init( {\n\t\tonShow: navigationToggleModal,\n\t\tonClose: navigationToggleModal,\n\t\topenClass: 'is-menu-open',\n\t} );\n\n\tconst submenuButtons = document.querySelectorAll(\n\t\t'.wp-block-navigation-submenu__toggle'\n\t);\n\n\tsubmenuButtons.forEach( function ( button ) {\n\t\tbutton.addEventListener( 'click', toggleSubmenuOnClick );\n\t} );\n\n\t// Close on click outside.\n\tdocument.addEventListener( 'click', function ( event ) {\n\t\tconst navigationBlocks = document.querySelectorAll(\n\t\t\t'.wp-block-navigation'\n\t\t);\n\t\tnavigationBlocks.forEach( function ( block ) {\n\t\t\tif ( ! block.contains( event.target ) ) {\n\t\t\t\tcloseSubmenus( block );\n\t\t\t}\n\t\t} );\n\t} );\n\t// Close on focus outside.\n\tdocument.addEventListener( 'keyup', function ( event ) {\n\t\tconst submenuBlocks = document.querySelectorAll(\n\t\t\t'.wp-block-navigation-item.has-child'\n\t\t);\n\t\tsubmenuBlocks.forEach( function ( block ) {\n\t\t\tif ( ! block.contains( event.target ) ) {\n\t\t\t\tcloseSubmenus( block );\n\t\t\t}\n\t\t} );\n\t} );\n} );\n"]}
@@ -155,8 +155,8 @@ const SiteLogo = _ref => {
155
155
  const currentWidth = width || defaultWidth;
156
156
  const ratio = naturalWidth / naturalHeight;
157
157
  const currentHeight = currentWidth / ratio;
158
- const minWidth = naturalWidth < naturalHeight ? MIN_SIZE : MIN_SIZE * ratio;
159
- const minHeight = naturalHeight < naturalWidth ? MIN_SIZE : MIN_SIZE / ratio; // With the current implementation of ResizableBox, an image needs an
158
+ const minWidth = naturalWidth < naturalHeight ? MIN_SIZE : Math.ceil(MIN_SIZE * ratio);
159
+ const minHeight = naturalHeight < naturalWidth ? MIN_SIZE : Math.ceil(MIN_SIZE / ratio); // With the current implementation of ResizableBox, an image needs an
160
160
  // explicit pixel value for the max-width. In absence of being able to
161
161
  // set the content-width, this max-width is currently dictated by the
162
162
  // vanilla editor style. The following variable adds a buffer to this
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/site-logo/edit.js"],"names":["classnames","includes","pick","isBlobURL","createInterpolateElement","useEffect","useState","useRef","__","isRTL","MenuItem","PanelBody","RangeControl","ResizableBox","Spinner","ToggleControl","ToolbarButton","Placeholder","Button","useViewportMatch","BlockControls","InspectorControls","MediaPlaceholder","MediaReplaceFlow","useBlockProps","store","blockEditorStore","__experimentalImageEditor","ImageEditor","__experimentalImageEditingProvider","ImageEditingProvider","useSelect","useDispatch","coreStore","crop","upload","SVG","Path","noticesStore","useClientWidth","MIN_SIZE","ALLOWED_MEDIA_TYPES","ACCEPT_MEDIA_STRING","SiteLogo","alt","attributes","align","width","height","isLink","linkTarget","shouldSyncIcon","containerRef","isSelected","setAttributes","setLogo","logoUrl","siteUrl","logoId","iconId","setIcon","canUserEdit","clientWidth","isLargeViewport","isWideAligned","isResizable","naturalWidth","naturalHeight","setNaturalSize","isEditingImage","setIsEditingImage","toggleSelection","classes","imageEditing","maxWidth","title","select","getSettings","siteEntities","getEditedEntityRecord","onResizeStart","onResizeStop","img","event","target","imgWrapper","preventDefault","imageWidthWithinContainer","exceedMaxWidth","defaultWidth","currentWidth","ratio","currentHeight","minWidth","minHeight","maxWidthBuffer","showRightHandle","showLeftHandle","canEditImage","imgEdit","imageAttributes","id","top","right","bottom","left","direction","elt","delta","parseInt","syncSiteIconHelpText","a","newWidth","Math","min","value","undefined","LogoEdit","className","styleClass","setLogoUrl","ref","siteLogoId","url","siteIconId","mediaItemData","isRequestingMediaItem","canUser","getEntityRecord","siteSettings","siteData","_siteLogo","site_logo","_readOnlyLogo","_canUserEdit","_siteLogoId","_siteIconId","site_icon","mediaItem","getMedia","context","_isRequestingMediaItem","hasFinishedResolution","source_url","alt_text","getGlobalBlockCount","editEntityRecord","logoBlockCount","newValue","shouldForceSync","onInitialSelectLogo","media","onSelectLogo","onRemoveLogo","createErrorNotice","onUploadError","message","type","controls","logoImage","isLoading","placeholder","content","placeholderClassName","blockProps","label","open"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\nimport { includes, pick } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { isBlobURL } from '@wordpress/blob';\nimport {\n\tcreateInterpolateElement,\n\tuseEffect,\n\tuseState,\n\tuseRef,\n} from '@wordpress/element';\nimport { __, isRTL } from '@wordpress/i18n';\nimport {\n\tMenuItem,\n\tPanelBody,\n\tRangeControl,\n\tResizableBox,\n\tSpinner,\n\tToggleControl,\n\tToolbarButton,\n\tPlaceholder,\n\tButton,\n} from '@wordpress/components';\nimport { useViewportMatch } from '@wordpress/compose';\nimport {\n\tBlockControls,\n\tInspectorControls,\n\tMediaPlaceholder,\n\tMediaReplaceFlow,\n\tuseBlockProps,\n\tstore as blockEditorStore,\n\t__experimentalImageEditor as ImageEditor,\n\t__experimentalImageEditingProvider as ImageEditingProvider,\n} from '@wordpress/block-editor';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { crop, upload } from '@wordpress/icons';\nimport { SVG, Path } from '@wordpress/primitives';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport useClientWidth from '../image/use-client-width';\n\n/**\n * Module constants\n */\nimport { MIN_SIZE } from '../image/constants';\n\nconst ALLOWED_MEDIA_TYPES = [ 'image' ];\nconst ACCEPT_MEDIA_STRING = 'image/*';\n\nconst SiteLogo = ( {\n\talt,\n\tattributes: { align, width, height, isLink, linkTarget, shouldSyncIcon },\n\tcontainerRef,\n\tisSelected,\n\tsetAttributes,\n\tsetLogo,\n\tlogoUrl,\n\tsiteUrl,\n\tlogoId,\n\ticonId,\n\tsetIcon,\n\tcanUserEdit,\n} ) => {\n\tconst clientWidth = useClientWidth( containerRef, [ align ] );\n\tconst isLargeViewport = useViewportMatch( 'medium' );\n\tconst isWideAligned = includes( [ 'wide', 'full' ], align );\n\tconst isResizable = ! isWideAligned && isLargeViewport;\n\tconst [ { naturalWidth, naturalHeight }, setNaturalSize ] = useState( {} );\n\tconst [ isEditingImage, setIsEditingImage ] = useState( false );\n\tconst { toggleSelection } = useDispatch( blockEditorStore );\n\tconst classes = classnames( 'custom-logo-link', {\n\t\t'is-transient': isBlobURL( logoUrl ),\n\t} );\n\tconst { imageEditing, maxWidth, title } = useSelect( ( select ) => {\n\t\tconst { getSettings } = select( blockEditorStore );\n\t\tconst siteEntities = select( coreStore ).getEditedEntityRecord(\n\t\t\t'root',\n\t\t\t'site'\n\t\t);\n\t\treturn {\n\t\t\ttitle: siteEntities.title,\n\t\t\t...pick( getSettings(), [ 'imageEditing', 'maxWidth' ] ),\n\t\t};\n\t}, [] );\n\n\tuseEffect( () => {\n\t\t// Turn the `Use as site icon` toggle off if it is on but the logo and icon have\n\t\t// fallen out of sync. This can happen if the toggle is saved in the `on` position,\n\t\t// but changes are later made to the site icon in the Customizer.\n\t\tif ( shouldSyncIcon && logoId !== iconId ) {\n\t\t\tsetAttributes( { shouldSyncIcon: false } );\n\t\t}\n\t}, [] );\n\n\tuseEffect( () => {\n\t\tif ( ! isSelected ) {\n\t\t\tsetIsEditingImage( false );\n\t\t}\n\t}, [ isSelected ] );\n\n\tfunction onResizeStart() {\n\t\ttoggleSelection( false );\n\t}\n\n\tfunction onResizeStop() {\n\t\ttoggleSelection( true );\n\t}\n\n\tconst img = (\n\t\t<img\n\t\t\tclassName=\"custom-logo\"\n\t\t\tsrc={ logoUrl }\n\t\t\talt={ alt }\n\t\t\tonLoad={ ( event ) => {\n\t\t\t\tsetNaturalSize(\n\t\t\t\t\tpick( event.target, [ 'naturalWidth', 'naturalHeight' ] )\n\t\t\t\t);\n\t\t\t} }\n\t\t/>\n\t);\n\n\tlet imgWrapper = img;\n\n\t// Disable reason: Image itself is not meant to be interactive, but\n\t// should direct focus to block.\n\tif ( isLink ) {\n\t\timgWrapper = (\n\t\t\t/* eslint-disable jsx-a11y/no-noninteractive-element-interactions, jsx-a11y/click-events-have-key-events */\n\t\t\t<a\n\t\t\t\thref={ siteUrl }\n\t\t\t\tclassName={ classes }\n\t\t\t\trel=\"home\"\n\t\t\t\ttitle={ title }\n\t\t\t\tonClick={ ( event ) => event.preventDefault() }\n\t\t\t>\n\t\t\t\t{ img }\n\t\t\t</a>\n\t\t\t/* eslint-enable jsx-a11y/no-noninteractive-element-interactions, jsx-a11y/click-events-have-key-events */\n\t\t);\n\t}\n\n\tlet imageWidthWithinContainer;\n\n\tif ( clientWidth && naturalWidth && naturalHeight ) {\n\t\tconst exceedMaxWidth = naturalWidth > clientWidth;\n\t\timageWidthWithinContainer = exceedMaxWidth ? clientWidth : naturalWidth;\n\t}\n\n\tif ( ! isResizable || ! imageWidthWithinContainer ) {\n\t\treturn <div style={ { width, height } }>{ imgWrapper }</div>;\n\t}\n\n\t// Set the default width to a responsible size.\n\t// Note that this width is also set in the attached frontend CSS file.\n\tconst defaultWidth = 120;\n\n\tconst currentWidth = width || defaultWidth;\n\tconst ratio = naturalWidth / naturalHeight;\n\tconst currentHeight = currentWidth / ratio;\n\tconst minWidth = naturalWidth < naturalHeight ? MIN_SIZE : MIN_SIZE * ratio;\n\tconst minHeight =\n\t\tnaturalHeight < naturalWidth ? MIN_SIZE : MIN_SIZE / ratio;\n\n\t// With the current implementation of ResizableBox, an image needs an\n\t// explicit pixel value for the max-width. In absence of being able to\n\t// set the content-width, this max-width is currently dictated by the\n\t// vanilla editor style. The following variable adds a buffer to this\n\t// vanilla style, so 3rd party themes have some wiggleroom. This does,\n\t// in most cases, allow you to scale the image beyond the width of the\n\t// main column, though not infinitely.\n\t// @todo It would be good to revisit this once a content-width variable\n\t// becomes available.\n\tconst maxWidthBuffer = maxWidth * 2.5;\n\n\tlet showRightHandle = false;\n\tlet showLeftHandle = false;\n\n\t/* eslint-disable no-lonely-if */\n\t// See https://github.com/WordPress/gutenberg/issues/7584.\n\tif ( align === 'center' ) {\n\t\t// When the image is centered, show both handles.\n\t\tshowRightHandle = true;\n\t\tshowLeftHandle = true;\n\t} else if ( isRTL() ) {\n\t\t// In RTL mode the image is on the right by default.\n\t\t// Show the right handle and hide the left handle only when it is\n\t\t// aligned left. Otherwise always show the left handle.\n\t\tif ( align === 'left' ) {\n\t\t\tshowRightHandle = true;\n\t\t} else {\n\t\t\tshowLeftHandle = true;\n\t\t}\n\t} else {\n\t\t// Show the left handle and hide the right handle only when the\n\t\t// image is aligned right. Otherwise always show the right handle.\n\t\tif ( align === 'right' ) {\n\t\t\tshowLeftHandle = true;\n\t\t} else {\n\t\t\tshowRightHandle = true;\n\t\t}\n\t}\n\t/* eslint-enable no-lonely-if */\n\n\tconst canEditImage =\n\t\tlogoId && naturalWidth && naturalHeight && imageEditing;\n\n\tconst imgEdit =\n\t\tcanEditImage && isEditingImage ? (\n\t\t\t<ImageEditingProvider\n\t\t\t\tid={ logoId }\n\t\t\t\turl={ logoUrl }\n\t\t\t\tnaturalWidth={ naturalWidth }\n\t\t\t\tnaturalHeight={ naturalHeight }\n\t\t\t\tclientWidth={ clientWidth }\n\t\t\t\tonSaveImage={ ( imageAttributes ) => {\n\t\t\t\t\tsetLogo( imageAttributes.id );\n\t\t\t\t} }\n\t\t\t\tisEditing={ isEditingImage }\n\t\t\t\tonFinishEditing={ () => setIsEditingImage( false ) }\n\t\t\t>\n\t\t\t\t<ImageEditor\n\t\t\t\t\turl={ logoUrl }\n\t\t\t\t\twidth={ currentWidth }\n\t\t\t\t\theight={ currentHeight }\n\t\t\t\t\tclientWidth={ clientWidth }\n\t\t\t\t\tnaturalHeight={ naturalHeight }\n\t\t\t\t\tnaturalWidth={ naturalWidth }\n\t\t\t\t/>\n\t\t\t</ImageEditingProvider>\n\t\t) : (\n\t\t\t<ResizableBox\n\t\t\t\tsize={ {\n\t\t\t\t\twidth: currentWidth,\n\t\t\t\t\theight: currentHeight,\n\t\t\t\t} }\n\t\t\t\tshowHandle={ isSelected }\n\t\t\t\tminWidth={ minWidth }\n\t\t\t\tmaxWidth={ maxWidthBuffer }\n\t\t\t\tminHeight={ minHeight }\n\t\t\t\tmaxHeight={ maxWidthBuffer / ratio }\n\t\t\t\tlockAspectRatio\n\t\t\t\tenable={ {\n\t\t\t\t\ttop: false,\n\t\t\t\t\tright: showRightHandle,\n\t\t\t\t\tbottom: true,\n\t\t\t\t\tleft: showLeftHandle,\n\t\t\t\t} }\n\t\t\t\tonResizeStart={ onResizeStart }\n\t\t\t\tonResizeStop={ ( event, direction, elt, delta ) => {\n\t\t\t\t\tonResizeStop();\n\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\twidth: parseInt( currentWidth + delta.width, 10 ),\n\t\t\t\t\t\theight: parseInt( currentHeight + delta.height, 10 ),\n\t\t\t\t\t} );\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t{ imgWrapper }\n\t\t\t</ResizableBox>\n\t\t);\n\n\tconst syncSiteIconHelpText = createInterpolateElement(\n\t\t__(\n\t\t\t'Site Icons are what you see in browser tabs, bookmark bars, and within the WordPress mobile apps. To use a custom icon that is different from your site logo, use the <a>Site Icon settings</a>.'\n\t\t),\n\t\t{\n\t\t\ta: (\n\t\t\t\t// eslint-disable-next-line jsx-a11y/anchor-has-content\n\t\t\t\t<a\n\t\t\t\t\thref={\n\t\t\t\t\t\tsiteUrl +\n\t\t\t\t\t\t'/wp-admin/customize.php?autofocus[section]=title_tagline'\n\t\t\t\t\t}\n\t\t\t\t\ttarget=\"_blank\"\n\t\t\t\t\trel=\"noopener noreferrer\"\n\t\t\t\t/>\n\t\t\t),\n\t\t}\n\t);\n\n\treturn (\n\t\t<>\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t\t<RangeControl\n\t\t\t\t\t\tlabel={ __( 'Image width' ) }\n\t\t\t\t\t\tonChange={ ( newWidth ) =>\n\t\t\t\t\t\t\tsetAttributes( { width: newWidth } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tmin={ minWidth }\n\t\t\t\t\t\tmax={ maxWidthBuffer }\n\t\t\t\t\t\tinitialPosition={ Math.min(\n\t\t\t\t\t\t\tdefaultWidth,\n\t\t\t\t\t\t\tmaxWidthBuffer\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tvalue={ width || '' }\n\t\t\t\t\t\tdisabled={ ! isResizable }\n\t\t\t\t\t/>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\tlabel={ __( 'Link image to home' ) }\n\t\t\t\t\t\tonChange={ () => setAttributes( { isLink: ! isLink } ) }\n\t\t\t\t\t\tchecked={ isLink }\n\t\t\t\t\t/>\n\t\t\t\t\t{ isLink && (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\tlabel={ __( 'Open in new tab' ) }\n\t\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\tlinkTarget: value ? '_blank' : '_self',\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\tchecked={ linkTarget === '_blank' }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</>\n\t\t\t\t\t) }\n\t\t\t\t\t{ canUserEdit && (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\tlabel={ __( 'Use as site icon' ) }\n\t\t\t\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\t\t\t\tsetAttributes( { shouldSyncIcon: value } );\n\t\t\t\t\t\t\t\t\tsetIcon( value ? logoId : undefined );\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\tchecked={ !! shouldSyncIcon }\n\t\t\t\t\t\t\t\thelp={ syncSiteIconHelpText }\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</PanelBody>\n\t\t\t</InspectorControls>\n\t\t\t<BlockControls group=\"block\">\n\t\t\t\t{ canEditImage && ! isEditingImage && (\n\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\tonClick={ () => setIsEditingImage( true ) }\n\t\t\t\t\t\ticon={ crop }\n\t\t\t\t\t\tlabel={ __( 'Crop' ) }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</BlockControls>\n\t\t\t{ imgEdit }\n\t\t</>\n\t);\n};\n\nexport default function LogoEdit( {\n\tattributes,\n\tclassName,\n\tsetAttributes,\n\tisSelected,\n} ) {\n\tconst { className: styleClass, width, shouldSyncIcon } = attributes;\n\tconst [ logoUrl, setLogoUrl ] = useState();\n\tconst ref = useRef();\n\n\tconst {\n\t\tsiteLogoId,\n\t\tcanUserEdit,\n\t\turl,\n\t\tsiteIconId,\n\t\tmediaItemData,\n\t\tisRequestingMediaItem,\n\t} = useSelect( ( select ) => {\n\t\tconst { canUser, getEntityRecord, getEditedEntityRecord } = select(\n\t\t\tcoreStore\n\t\t);\n\t\tconst siteSettings = getEditedEntityRecord( 'root', 'site' );\n\t\tconst siteData = getEntityRecord( 'root', '__unstableBase' );\n\t\tconst _siteLogo = siteSettings?.site_logo;\n\t\tconst _readOnlyLogo = siteData?.site_logo;\n\t\tconst _canUserEdit = canUser( 'update', 'settings' );\n\t\tconst _siteLogoId = _canUserEdit ? _siteLogo : _readOnlyLogo;\n\t\tconst _siteIconId = siteSettings?.site_icon;\n\t\tconst mediaItem =\n\t\t\t_siteLogoId &&\n\t\t\tselect( coreStore ).getMedia( _siteLogoId, {\n\t\t\t\tcontext: 'view',\n\t\t\t} );\n\t\tconst _isRequestingMediaItem =\n\t\t\t_siteLogoId &&\n\t\t\t! select( coreStore ).hasFinishedResolution( 'getMedia', [\n\t\t\t\t_siteLogoId,\n\t\t\t\t{ context: 'view' },\n\t\t\t] );\n\n\t\treturn {\n\t\t\tsiteLogoId: _siteLogoId,\n\t\t\tcanUserEdit: _canUserEdit,\n\t\t\turl: siteData?.url,\n\t\t\tmediaItemData: mediaItem && {\n\t\t\t\tid: mediaItem.id,\n\t\t\t\turl: mediaItem.source_url,\n\t\t\t\talt: mediaItem.alt_text,\n\t\t\t},\n\t\t\tisRequestingMediaItem: _isRequestingMediaItem,\n\t\t\tsiteIconId: _siteIconId,\n\t\t};\n\t}, [] );\n\n\tconst { getGlobalBlockCount } = useSelect( blockEditorStore );\n\tconst { editEntityRecord } = useDispatch( coreStore );\n\n\tuseEffect( () => {\n\t\t// Cleanup function to discard unsaved changes to the icon and logo when\n\t\t// the block is removed.\n\t\treturn () => {\n\t\t\t// Do nothing if the block is being rendered in the styles preview or the\n\t\t\t// block inserter.\n\t\t\tif (\n\t\t\t\tstyleClass?.includes(\n\t\t\t\t\t'block-editor-block-types-list__site-logo-example'\n\t\t\t\t) ||\n\t\t\t\tstyleClass?.includes(\n\t\t\t\t\t'block-editor-block-styles__block-preview-container'\n\t\t\t\t)\n\t\t\t) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst logoBlockCount = getGlobalBlockCount( 'core/site-logo' );\n\n\t\t\t// Only discard unsaved changes if we are removing the last Site Logo block\n\t\t\t// on the page.\n\t\t\tif ( logoBlockCount === 0 ) {\n\t\t\t\teditEntityRecord( 'root', 'site', undefined, {\n\t\t\t\t\tsite_logo: undefined,\n\t\t\t\t\tsite_icon: undefined,\n\t\t\t\t} );\n\t\t\t}\n\t\t};\n\t}, [] );\n\n\tconst setLogo = ( newValue, shouldForceSync = false ) => {\n\t\t// `shouldForceSync` is used to force syncing when the attribute\n\t\t// may not have updated yet.\n\t\tif ( shouldSyncIcon || shouldForceSync ) {\n\t\t\tsetIcon( newValue );\n\t\t}\n\n\t\teditEntityRecord( 'root', 'site', undefined, {\n\t\t\tsite_logo: newValue,\n\t\t} );\n\t};\n\n\tconst setIcon = ( newValue ) =>\n\t\teditEntityRecord( 'root', 'site', undefined, {\n\t\t\tsite_icon: newValue,\n\t\t} );\n\n\tlet alt = null;\n\tif ( mediaItemData ) {\n\t\talt = mediaItemData.alt;\n\t\tif ( logoUrl !== mediaItemData.url ) {\n\t\t\tsetLogoUrl( mediaItemData.url );\n\t\t}\n\t}\n\n\tconst onInitialSelectLogo = ( media ) => {\n\t\t// Initialize the syncSiteIcon toggle. If we currently have no Site logo and no\n\t\t// site icon, automatically sync the logo to the icon.\n\t\tif ( shouldSyncIcon === undefined ) {\n\t\t\tconst shouldForceSync = ! siteIconId;\n\t\t\tsetAttributes( { shouldSyncIcon: shouldForceSync } );\n\n\t\t\t// Because we cannot rely on the `shouldSyncIcon` attribute to have updated by\n\t\t\t// the time `setLogo` is called, pass an argument to force the syncing.\n\t\t\tonSelectLogo( media, shouldForceSync );\n\t\t\treturn;\n\t\t}\n\n\t\tonSelectLogo( media );\n\t};\n\n\tconst onSelectLogo = ( media, shouldForceSync = false ) => {\n\t\tif ( ! media ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( ! media.id && media.url ) {\n\t\t\t// This is a temporary blob image\n\t\t\tsetLogo( undefined );\n\t\t\tsetLogoUrl( media.url );\n\t\t\treturn;\n\t\t}\n\n\t\tsetLogo( media.id, shouldForceSync );\n\t};\n\n\tconst onRemoveLogo = () => {\n\t\tsetLogo( null );\n\t\tsetLogoUrl( undefined );\n\t\tsetAttributes( { width: undefined } );\n\t};\n\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\tconst onUploadError = ( message ) => {\n\t\tcreateErrorNotice( message[ 2 ], { type: 'snackbar' } );\n\t};\n\n\tconst controls = canUserEdit && logoUrl && (\n\t\t<BlockControls group=\"other\">\n\t\t\t<MediaReplaceFlow\n\t\t\t\tmediaURL={ logoUrl }\n\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\taccept={ ACCEPT_MEDIA_STRING }\n\t\t\t\tonSelect={ onSelectLogo }\n\t\t\t\tonError={ onUploadError }\n\t\t\t>\n\t\t\t\t<MenuItem onClick={ onRemoveLogo }>{ __( 'Reset' ) }</MenuItem>\n\t\t\t</MediaReplaceFlow>\n\t\t</BlockControls>\n\t);\n\n\tlet logoImage;\n\tconst isLoading = siteLogoId === undefined || isRequestingMediaItem;\n\tif ( isLoading ) {\n\t\tlogoImage = <Spinner />;\n\t}\n\tif ( !! logoUrl ) {\n\t\tlogoImage = (\n\t\t\t<SiteLogo\n\t\t\t\talt={ alt }\n\t\t\t\tattributes={ attributes }\n\t\t\t\tclassName={ className }\n\t\t\t\tcontainerRef={ ref }\n\t\t\t\tisSelected={ isSelected }\n\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\tlogoUrl={ logoUrl }\n\t\t\t\tsetLogo={ setLogo }\n\t\t\t\tlogoId={ mediaItemData?.id || siteLogoId }\n\t\t\t\tsiteUrl={ url }\n\t\t\t\tsetIcon={ setIcon }\n\t\t\t\ticonId={ siteIconId }\n\t\t\t\tcanUserEdit={ canUserEdit }\n\t\t\t/>\n\t\t);\n\t}\n\tconst placeholder = ( content ) => {\n\t\tconst placeholderClassName = classnames(\n\t\t\t'block-editor-media-placeholder',\n\t\t\tclassName\n\t\t);\n\n\t\treturn (\n\t\t\t<Placeholder\n\t\t\t\tclassName={ placeholderClassName }\n\t\t\t\tpreview={ logoImage }\n\t\t\t>\n\t\t\t\t{\n\t\t\t\t\t<SVG\n\t\t\t\t\t\tclassName=\"components-placeholder__illustration\"\n\t\t\t\t\t\tfill=\"none\"\n\t\t\t\t\t\txmlns=\"http://www.w3.org/2000/svg\"\n\t\t\t\t\t\tviewBox=\"0 0 60 60\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<Path\n\t\t\t\t\t\t\tvectorEffect=\"non-scaling-stroke\"\n\t\t\t\t\t\t\td=\"m61 32.622-13.555-9.137-15.888 9.859a5 5 0 0 1-5.386-.073l-9.095-5.989L1 37.5\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t</SVG>\n\t\t\t\t}\n\t\t\t\t{ content }\n\t\t\t</Placeholder>\n\t\t);\n\t};\n\n\tconst classes = classnames( className, {\n\t\t'is-default-size': ! width,\n\t} );\n\n\tconst blockProps = useBlockProps( {\n\t\tref,\n\t\tclassName: classes,\n\t} );\n\n\tconst label = __( 'Add a site logo' );\n\n\treturn (\n\t\t<div { ...blockProps }>\n\t\t\t{ controls }\n\t\t\t{ !! logoUrl && logoImage }\n\t\t\t{ ! logoUrl && ! canUserEdit && (\n\t\t\t\t<Placeholder className=\"site-logo_placeholder\">\n\t\t\t\t\t{ isLoading && (\n\t\t\t\t\t\t<span className=\"components-placeholder__preview\">\n\t\t\t\t\t\t\t<Spinner />\n\t\t\t\t\t\t</span>\n\t\t\t\t\t) }\n\t\t\t\t</Placeholder>\n\t\t\t) }\n\t\t\t{ ! logoUrl && canUserEdit && (\n\t\t\t\t<MediaPlaceholder\n\t\t\t\t\tonSelect={ onInitialSelectLogo }\n\t\t\t\t\taccept={ ACCEPT_MEDIA_STRING }\n\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\tonError={ onUploadError }\n\t\t\t\t\tplaceholder={ placeholder }\n\t\t\t\t\tmediaLibraryButton={ ( { open } ) => {\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\ticon={ upload }\n\t\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\t\tlabel={ label }\n\t\t\t\t\t\t\t\tshowTooltip\n\t\t\t\t\t\t\t\ttooltipPosition=\"top center\"\n\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\topen();\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</div>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/site-logo/edit.js"],"names":["classnames","includes","pick","isBlobURL","createInterpolateElement","useEffect","useState","useRef","__","isRTL","MenuItem","PanelBody","RangeControl","ResizableBox","Spinner","ToggleControl","ToolbarButton","Placeholder","Button","useViewportMatch","BlockControls","InspectorControls","MediaPlaceholder","MediaReplaceFlow","useBlockProps","store","blockEditorStore","__experimentalImageEditor","ImageEditor","__experimentalImageEditingProvider","ImageEditingProvider","useSelect","useDispatch","coreStore","crop","upload","SVG","Path","noticesStore","useClientWidth","MIN_SIZE","ALLOWED_MEDIA_TYPES","ACCEPT_MEDIA_STRING","SiteLogo","alt","attributes","align","width","height","isLink","linkTarget","shouldSyncIcon","containerRef","isSelected","setAttributes","setLogo","logoUrl","siteUrl","logoId","iconId","setIcon","canUserEdit","clientWidth","isLargeViewport","isWideAligned","isResizable","naturalWidth","naturalHeight","setNaturalSize","isEditingImage","setIsEditingImage","toggleSelection","classes","imageEditing","maxWidth","title","select","getSettings","siteEntities","getEditedEntityRecord","onResizeStart","onResizeStop","img","event","target","imgWrapper","preventDefault","imageWidthWithinContainer","exceedMaxWidth","defaultWidth","currentWidth","ratio","currentHeight","minWidth","Math","ceil","minHeight","maxWidthBuffer","showRightHandle","showLeftHandle","canEditImage","imgEdit","imageAttributes","id","top","right","bottom","left","direction","elt","delta","parseInt","syncSiteIconHelpText","a","newWidth","min","value","undefined","LogoEdit","className","styleClass","setLogoUrl","ref","siteLogoId","url","siteIconId","mediaItemData","isRequestingMediaItem","canUser","getEntityRecord","siteSettings","siteData","_siteLogo","site_logo","_readOnlyLogo","_canUserEdit","_siteLogoId","_siteIconId","site_icon","mediaItem","getMedia","context","_isRequestingMediaItem","hasFinishedResolution","source_url","alt_text","getGlobalBlockCount","editEntityRecord","logoBlockCount","newValue","shouldForceSync","onInitialSelectLogo","media","onSelectLogo","onRemoveLogo","createErrorNotice","onUploadError","message","type","controls","logoImage","isLoading","placeholder","content","placeholderClassName","blockProps","label","open"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\nimport { includes, pick } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { isBlobURL } from '@wordpress/blob';\nimport {\n\tcreateInterpolateElement,\n\tuseEffect,\n\tuseState,\n\tuseRef,\n} from '@wordpress/element';\nimport { __, isRTL } from '@wordpress/i18n';\nimport {\n\tMenuItem,\n\tPanelBody,\n\tRangeControl,\n\tResizableBox,\n\tSpinner,\n\tToggleControl,\n\tToolbarButton,\n\tPlaceholder,\n\tButton,\n} from '@wordpress/components';\nimport { useViewportMatch } from '@wordpress/compose';\nimport {\n\tBlockControls,\n\tInspectorControls,\n\tMediaPlaceholder,\n\tMediaReplaceFlow,\n\tuseBlockProps,\n\tstore as blockEditorStore,\n\t__experimentalImageEditor as ImageEditor,\n\t__experimentalImageEditingProvider as ImageEditingProvider,\n} from '@wordpress/block-editor';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { crop, upload } from '@wordpress/icons';\nimport { SVG, Path } from '@wordpress/primitives';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport useClientWidth from '../image/use-client-width';\n\n/**\n * Module constants\n */\nimport { MIN_SIZE } from '../image/constants';\n\nconst ALLOWED_MEDIA_TYPES = [ 'image' ];\nconst ACCEPT_MEDIA_STRING = 'image/*';\n\nconst SiteLogo = ( {\n\talt,\n\tattributes: { align, width, height, isLink, linkTarget, shouldSyncIcon },\n\tcontainerRef,\n\tisSelected,\n\tsetAttributes,\n\tsetLogo,\n\tlogoUrl,\n\tsiteUrl,\n\tlogoId,\n\ticonId,\n\tsetIcon,\n\tcanUserEdit,\n} ) => {\n\tconst clientWidth = useClientWidth( containerRef, [ align ] );\n\tconst isLargeViewport = useViewportMatch( 'medium' );\n\tconst isWideAligned = includes( [ 'wide', 'full' ], align );\n\tconst isResizable = ! isWideAligned && isLargeViewport;\n\tconst [ { naturalWidth, naturalHeight }, setNaturalSize ] = useState( {} );\n\tconst [ isEditingImage, setIsEditingImage ] = useState( false );\n\tconst { toggleSelection } = useDispatch( blockEditorStore );\n\tconst classes = classnames( 'custom-logo-link', {\n\t\t'is-transient': isBlobURL( logoUrl ),\n\t} );\n\tconst { imageEditing, maxWidth, title } = useSelect( ( select ) => {\n\t\tconst { getSettings } = select( blockEditorStore );\n\t\tconst siteEntities = select( coreStore ).getEditedEntityRecord(\n\t\t\t'root',\n\t\t\t'site'\n\t\t);\n\t\treturn {\n\t\t\ttitle: siteEntities.title,\n\t\t\t...pick( getSettings(), [ 'imageEditing', 'maxWidth' ] ),\n\t\t};\n\t}, [] );\n\n\tuseEffect( () => {\n\t\t// Turn the `Use as site icon` toggle off if it is on but the logo and icon have\n\t\t// fallen out of sync. This can happen if the toggle is saved in the `on` position,\n\t\t// but changes are later made to the site icon in the Customizer.\n\t\tif ( shouldSyncIcon && logoId !== iconId ) {\n\t\t\tsetAttributes( { shouldSyncIcon: false } );\n\t\t}\n\t}, [] );\n\n\tuseEffect( () => {\n\t\tif ( ! isSelected ) {\n\t\t\tsetIsEditingImage( false );\n\t\t}\n\t}, [ isSelected ] );\n\n\tfunction onResizeStart() {\n\t\ttoggleSelection( false );\n\t}\n\n\tfunction onResizeStop() {\n\t\ttoggleSelection( true );\n\t}\n\n\tconst img = (\n\t\t<img\n\t\t\tclassName=\"custom-logo\"\n\t\t\tsrc={ logoUrl }\n\t\t\talt={ alt }\n\t\t\tonLoad={ ( event ) => {\n\t\t\t\tsetNaturalSize(\n\t\t\t\t\tpick( event.target, [ 'naturalWidth', 'naturalHeight' ] )\n\t\t\t\t);\n\t\t\t} }\n\t\t/>\n\t);\n\n\tlet imgWrapper = img;\n\n\t// Disable reason: Image itself is not meant to be interactive, but\n\t// should direct focus to block.\n\tif ( isLink ) {\n\t\timgWrapper = (\n\t\t\t/* eslint-disable jsx-a11y/no-noninteractive-element-interactions, jsx-a11y/click-events-have-key-events */\n\t\t\t<a\n\t\t\t\thref={ siteUrl }\n\t\t\t\tclassName={ classes }\n\t\t\t\trel=\"home\"\n\t\t\t\ttitle={ title }\n\t\t\t\tonClick={ ( event ) => event.preventDefault() }\n\t\t\t>\n\t\t\t\t{ img }\n\t\t\t</a>\n\t\t\t/* eslint-enable jsx-a11y/no-noninteractive-element-interactions, jsx-a11y/click-events-have-key-events */\n\t\t);\n\t}\n\n\tlet imageWidthWithinContainer;\n\n\tif ( clientWidth && naturalWidth && naturalHeight ) {\n\t\tconst exceedMaxWidth = naturalWidth > clientWidth;\n\t\timageWidthWithinContainer = exceedMaxWidth ? clientWidth : naturalWidth;\n\t}\n\n\tif ( ! isResizable || ! imageWidthWithinContainer ) {\n\t\treturn <div style={ { width, height } }>{ imgWrapper }</div>;\n\t}\n\n\t// Set the default width to a responsible size.\n\t// Note that this width is also set in the attached frontend CSS file.\n\tconst defaultWidth = 120;\n\n\tconst currentWidth = width || defaultWidth;\n\tconst ratio = naturalWidth / naturalHeight;\n\tconst currentHeight = currentWidth / ratio;\n\tconst minWidth =\n\t\tnaturalWidth < naturalHeight ? MIN_SIZE : Math.ceil( MIN_SIZE * ratio );\n\tconst minHeight =\n\t\tnaturalHeight < naturalWidth ? MIN_SIZE : Math.ceil( MIN_SIZE / ratio );\n\n\t// With the current implementation of ResizableBox, an image needs an\n\t// explicit pixel value for the max-width. In absence of being able to\n\t// set the content-width, this max-width is currently dictated by the\n\t// vanilla editor style. The following variable adds a buffer to this\n\t// vanilla style, so 3rd party themes have some wiggleroom. This does,\n\t// in most cases, allow you to scale the image beyond the width of the\n\t// main column, though not infinitely.\n\t// @todo It would be good to revisit this once a content-width variable\n\t// becomes available.\n\tconst maxWidthBuffer = maxWidth * 2.5;\n\n\tlet showRightHandle = false;\n\tlet showLeftHandle = false;\n\n\t/* eslint-disable no-lonely-if */\n\t// See https://github.com/WordPress/gutenberg/issues/7584.\n\tif ( align === 'center' ) {\n\t\t// When the image is centered, show both handles.\n\t\tshowRightHandle = true;\n\t\tshowLeftHandle = true;\n\t} else if ( isRTL() ) {\n\t\t// In RTL mode the image is on the right by default.\n\t\t// Show the right handle and hide the left handle only when it is\n\t\t// aligned left. Otherwise always show the left handle.\n\t\tif ( align === 'left' ) {\n\t\t\tshowRightHandle = true;\n\t\t} else {\n\t\t\tshowLeftHandle = true;\n\t\t}\n\t} else {\n\t\t// Show the left handle and hide the right handle only when the\n\t\t// image is aligned right. Otherwise always show the right handle.\n\t\tif ( align === 'right' ) {\n\t\t\tshowLeftHandle = true;\n\t\t} else {\n\t\t\tshowRightHandle = true;\n\t\t}\n\t}\n\t/* eslint-enable no-lonely-if */\n\n\tconst canEditImage =\n\t\tlogoId && naturalWidth && naturalHeight && imageEditing;\n\n\tconst imgEdit =\n\t\tcanEditImage && isEditingImage ? (\n\t\t\t<ImageEditingProvider\n\t\t\t\tid={ logoId }\n\t\t\t\turl={ logoUrl }\n\t\t\t\tnaturalWidth={ naturalWidth }\n\t\t\t\tnaturalHeight={ naturalHeight }\n\t\t\t\tclientWidth={ clientWidth }\n\t\t\t\tonSaveImage={ ( imageAttributes ) => {\n\t\t\t\t\tsetLogo( imageAttributes.id );\n\t\t\t\t} }\n\t\t\t\tisEditing={ isEditingImage }\n\t\t\t\tonFinishEditing={ () => setIsEditingImage( false ) }\n\t\t\t>\n\t\t\t\t<ImageEditor\n\t\t\t\t\turl={ logoUrl }\n\t\t\t\t\twidth={ currentWidth }\n\t\t\t\t\theight={ currentHeight }\n\t\t\t\t\tclientWidth={ clientWidth }\n\t\t\t\t\tnaturalHeight={ naturalHeight }\n\t\t\t\t\tnaturalWidth={ naturalWidth }\n\t\t\t\t/>\n\t\t\t</ImageEditingProvider>\n\t\t) : (\n\t\t\t<ResizableBox\n\t\t\t\tsize={ {\n\t\t\t\t\twidth: currentWidth,\n\t\t\t\t\theight: currentHeight,\n\t\t\t\t} }\n\t\t\t\tshowHandle={ isSelected }\n\t\t\t\tminWidth={ minWidth }\n\t\t\t\tmaxWidth={ maxWidthBuffer }\n\t\t\t\tminHeight={ minHeight }\n\t\t\t\tmaxHeight={ maxWidthBuffer / ratio }\n\t\t\t\tlockAspectRatio\n\t\t\t\tenable={ {\n\t\t\t\t\ttop: false,\n\t\t\t\t\tright: showRightHandle,\n\t\t\t\t\tbottom: true,\n\t\t\t\t\tleft: showLeftHandle,\n\t\t\t\t} }\n\t\t\t\tonResizeStart={ onResizeStart }\n\t\t\t\tonResizeStop={ ( event, direction, elt, delta ) => {\n\t\t\t\t\tonResizeStop();\n\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\twidth: parseInt( currentWidth + delta.width, 10 ),\n\t\t\t\t\t\theight: parseInt( currentHeight + delta.height, 10 ),\n\t\t\t\t\t} );\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t{ imgWrapper }\n\t\t\t</ResizableBox>\n\t\t);\n\n\tconst syncSiteIconHelpText = createInterpolateElement(\n\t\t__(\n\t\t\t'Site Icons are what you see in browser tabs, bookmark bars, and within the WordPress mobile apps. To use a custom icon that is different from your site logo, use the <a>Site Icon settings</a>.'\n\t\t),\n\t\t{\n\t\t\ta: (\n\t\t\t\t// eslint-disable-next-line jsx-a11y/anchor-has-content\n\t\t\t\t<a\n\t\t\t\t\thref={\n\t\t\t\t\t\tsiteUrl +\n\t\t\t\t\t\t'/wp-admin/customize.php?autofocus[section]=title_tagline'\n\t\t\t\t\t}\n\t\t\t\t\ttarget=\"_blank\"\n\t\t\t\t\trel=\"noopener noreferrer\"\n\t\t\t\t/>\n\t\t\t),\n\t\t}\n\t);\n\n\treturn (\n\t\t<>\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t\t<RangeControl\n\t\t\t\t\t\tlabel={ __( 'Image width' ) }\n\t\t\t\t\t\tonChange={ ( newWidth ) =>\n\t\t\t\t\t\t\tsetAttributes( { width: newWidth } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tmin={ minWidth }\n\t\t\t\t\t\tmax={ maxWidthBuffer }\n\t\t\t\t\t\tinitialPosition={ Math.min(\n\t\t\t\t\t\t\tdefaultWidth,\n\t\t\t\t\t\t\tmaxWidthBuffer\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tvalue={ width || '' }\n\t\t\t\t\t\tdisabled={ ! isResizable }\n\t\t\t\t\t/>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\tlabel={ __( 'Link image to home' ) }\n\t\t\t\t\t\tonChange={ () => setAttributes( { isLink: ! isLink } ) }\n\t\t\t\t\t\tchecked={ isLink }\n\t\t\t\t\t/>\n\t\t\t\t\t{ isLink && (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\tlabel={ __( 'Open in new tab' ) }\n\t\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\tlinkTarget: value ? '_blank' : '_self',\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\tchecked={ linkTarget === '_blank' }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</>\n\t\t\t\t\t) }\n\t\t\t\t\t{ canUserEdit && (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\tlabel={ __( 'Use as site icon' ) }\n\t\t\t\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\t\t\t\tsetAttributes( { shouldSyncIcon: value } );\n\t\t\t\t\t\t\t\t\tsetIcon( value ? logoId : undefined );\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\tchecked={ !! shouldSyncIcon }\n\t\t\t\t\t\t\t\thelp={ syncSiteIconHelpText }\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</PanelBody>\n\t\t\t</InspectorControls>\n\t\t\t<BlockControls group=\"block\">\n\t\t\t\t{ canEditImage && ! isEditingImage && (\n\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\tonClick={ () => setIsEditingImage( true ) }\n\t\t\t\t\t\ticon={ crop }\n\t\t\t\t\t\tlabel={ __( 'Crop' ) }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</BlockControls>\n\t\t\t{ imgEdit }\n\t\t</>\n\t);\n};\n\nexport default function LogoEdit( {\n\tattributes,\n\tclassName,\n\tsetAttributes,\n\tisSelected,\n} ) {\n\tconst { className: styleClass, width, shouldSyncIcon } = attributes;\n\tconst [ logoUrl, setLogoUrl ] = useState();\n\tconst ref = useRef();\n\n\tconst {\n\t\tsiteLogoId,\n\t\tcanUserEdit,\n\t\turl,\n\t\tsiteIconId,\n\t\tmediaItemData,\n\t\tisRequestingMediaItem,\n\t} = useSelect( ( select ) => {\n\t\tconst { canUser, getEntityRecord, getEditedEntityRecord } = select(\n\t\t\tcoreStore\n\t\t);\n\t\tconst siteSettings = getEditedEntityRecord( 'root', 'site' );\n\t\tconst siteData = getEntityRecord( 'root', '__unstableBase' );\n\t\tconst _siteLogo = siteSettings?.site_logo;\n\t\tconst _readOnlyLogo = siteData?.site_logo;\n\t\tconst _canUserEdit = canUser( 'update', 'settings' );\n\t\tconst _siteLogoId = _canUserEdit ? _siteLogo : _readOnlyLogo;\n\t\tconst _siteIconId = siteSettings?.site_icon;\n\t\tconst mediaItem =\n\t\t\t_siteLogoId &&\n\t\t\tselect( coreStore ).getMedia( _siteLogoId, {\n\t\t\t\tcontext: 'view',\n\t\t\t} );\n\t\tconst _isRequestingMediaItem =\n\t\t\t_siteLogoId &&\n\t\t\t! select( coreStore ).hasFinishedResolution( 'getMedia', [\n\t\t\t\t_siteLogoId,\n\t\t\t\t{ context: 'view' },\n\t\t\t] );\n\n\t\treturn {\n\t\t\tsiteLogoId: _siteLogoId,\n\t\t\tcanUserEdit: _canUserEdit,\n\t\t\turl: siteData?.url,\n\t\t\tmediaItemData: mediaItem && {\n\t\t\t\tid: mediaItem.id,\n\t\t\t\turl: mediaItem.source_url,\n\t\t\t\talt: mediaItem.alt_text,\n\t\t\t},\n\t\t\tisRequestingMediaItem: _isRequestingMediaItem,\n\t\t\tsiteIconId: _siteIconId,\n\t\t};\n\t}, [] );\n\n\tconst { getGlobalBlockCount } = useSelect( blockEditorStore );\n\tconst { editEntityRecord } = useDispatch( coreStore );\n\n\tuseEffect( () => {\n\t\t// Cleanup function to discard unsaved changes to the icon and logo when\n\t\t// the block is removed.\n\t\treturn () => {\n\t\t\t// Do nothing if the block is being rendered in the styles preview or the\n\t\t\t// block inserter.\n\t\t\tif (\n\t\t\t\tstyleClass?.includes(\n\t\t\t\t\t'block-editor-block-types-list__site-logo-example'\n\t\t\t\t) ||\n\t\t\t\tstyleClass?.includes(\n\t\t\t\t\t'block-editor-block-styles__block-preview-container'\n\t\t\t\t)\n\t\t\t) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst logoBlockCount = getGlobalBlockCount( 'core/site-logo' );\n\n\t\t\t// Only discard unsaved changes if we are removing the last Site Logo block\n\t\t\t// on the page.\n\t\t\tif ( logoBlockCount === 0 ) {\n\t\t\t\teditEntityRecord( 'root', 'site', undefined, {\n\t\t\t\t\tsite_logo: undefined,\n\t\t\t\t\tsite_icon: undefined,\n\t\t\t\t} );\n\t\t\t}\n\t\t};\n\t}, [] );\n\n\tconst setLogo = ( newValue, shouldForceSync = false ) => {\n\t\t// `shouldForceSync` is used to force syncing when the attribute\n\t\t// may not have updated yet.\n\t\tif ( shouldSyncIcon || shouldForceSync ) {\n\t\t\tsetIcon( newValue );\n\t\t}\n\n\t\teditEntityRecord( 'root', 'site', undefined, {\n\t\t\tsite_logo: newValue,\n\t\t} );\n\t};\n\n\tconst setIcon = ( newValue ) =>\n\t\teditEntityRecord( 'root', 'site', undefined, {\n\t\t\tsite_icon: newValue,\n\t\t} );\n\n\tlet alt = null;\n\tif ( mediaItemData ) {\n\t\talt = mediaItemData.alt;\n\t\tif ( logoUrl !== mediaItemData.url ) {\n\t\t\tsetLogoUrl( mediaItemData.url );\n\t\t}\n\t}\n\n\tconst onInitialSelectLogo = ( media ) => {\n\t\t// Initialize the syncSiteIcon toggle. If we currently have no Site logo and no\n\t\t// site icon, automatically sync the logo to the icon.\n\t\tif ( shouldSyncIcon === undefined ) {\n\t\t\tconst shouldForceSync = ! siteIconId;\n\t\t\tsetAttributes( { shouldSyncIcon: shouldForceSync } );\n\n\t\t\t// Because we cannot rely on the `shouldSyncIcon` attribute to have updated by\n\t\t\t// the time `setLogo` is called, pass an argument to force the syncing.\n\t\t\tonSelectLogo( media, shouldForceSync );\n\t\t\treturn;\n\t\t}\n\n\t\tonSelectLogo( media );\n\t};\n\n\tconst onSelectLogo = ( media, shouldForceSync = false ) => {\n\t\tif ( ! media ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( ! media.id && media.url ) {\n\t\t\t// This is a temporary blob image\n\t\t\tsetLogo( undefined );\n\t\t\tsetLogoUrl( media.url );\n\t\t\treturn;\n\t\t}\n\n\t\tsetLogo( media.id, shouldForceSync );\n\t};\n\n\tconst onRemoveLogo = () => {\n\t\tsetLogo( null );\n\t\tsetLogoUrl( undefined );\n\t\tsetAttributes( { width: undefined } );\n\t};\n\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\tconst onUploadError = ( message ) => {\n\t\tcreateErrorNotice( message[ 2 ], { type: 'snackbar' } );\n\t};\n\n\tconst controls = canUserEdit && logoUrl && (\n\t\t<BlockControls group=\"other\">\n\t\t\t<MediaReplaceFlow\n\t\t\t\tmediaURL={ logoUrl }\n\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\taccept={ ACCEPT_MEDIA_STRING }\n\t\t\t\tonSelect={ onSelectLogo }\n\t\t\t\tonError={ onUploadError }\n\t\t\t>\n\t\t\t\t<MenuItem onClick={ onRemoveLogo }>{ __( 'Reset' ) }</MenuItem>\n\t\t\t</MediaReplaceFlow>\n\t\t</BlockControls>\n\t);\n\n\tlet logoImage;\n\tconst isLoading = siteLogoId === undefined || isRequestingMediaItem;\n\tif ( isLoading ) {\n\t\tlogoImage = <Spinner />;\n\t}\n\tif ( !! logoUrl ) {\n\t\tlogoImage = (\n\t\t\t<SiteLogo\n\t\t\t\talt={ alt }\n\t\t\t\tattributes={ attributes }\n\t\t\t\tclassName={ className }\n\t\t\t\tcontainerRef={ ref }\n\t\t\t\tisSelected={ isSelected }\n\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\tlogoUrl={ logoUrl }\n\t\t\t\tsetLogo={ setLogo }\n\t\t\t\tlogoId={ mediaItemData?.id || siteLogoId }\n\t\t\t\tsiteUrl={ url }\n\t\t\t\tsetIcon={ setIcon }\n\t\t\t\ticonId={ siteIconId }\n\t\t\t\tcanUserEdit={ canUserEdit }\n\t\t\t/>\n\t\t);\n\t}\n\tconst placeholder = ( content ) => {\n\t\tconst placeholderClassName = classnames(\n\t\t\t'block-editor-media-placeholder',\n\t\t\tclassName\n\t\t);\n\n\t\treturn (\n\t\t\t<Placeholder\n\t\t\t\tclassName={ placeholderClassName }\n\t\t\t\tpreview={ logoImage }\n\t\t\t>\n\t\t\t\t{\n\t\t\t\t\t<SVG\n\t\t\t\t\t\tclassName=\"components-placeholder__illustration\"\n\t\t\t\t\t\tfill=\"none\"\n\t\t\t\t\t\txmlns=\"http://www.w3.org/2000/svg\"\n\t\t\t\t\t\tviewBox=\"0 0 60 60\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<Path\n\t\t\t\t\t\t\tvectorEffect=\"non-scaling-stroke\"\n\t\t\t\t\t\t\td=\"m61 32.622-13.555-9.137-15.888 9.859a5 5 0 0 1-5.386-.073l-9.095-5.989L1 37.5\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t</SVG>\n\t\t\t\t}\n\t\t\t\t{ content }\n\t\t\t</Placeholder>\n\t\t);\n\t};\n\n\tconst classes = classnames( className, {\n\t\t'is-default-size': ! width,\n\t} );\n\n\tconst blockProps = useBlockProps( {\n\t\tref,\n\t\tclassName: classes,\n\t} );\n\n\tconst label = __( 'Add a site logo' );\n\n\treturn (\n\t\t<div { ...blockProps }>\n\t\t\t{ controls }\n\t\t\t{ !! logoUrl && logoImage }\n\t\t\t{ ! logoUrl && ! canUserEdit && (\n\t\t\t\t<Placeholder className=\"site-logo_placeholder\">\n\t\t\t\t\t{ isLoading && (\n\t\t\t\t\t\t<span className=\"components-placeholder__preview\">\n\t\t\t\t\t\t\t<Spinner />\n\t\t\t\t\t\t</span>\n\t\t\t\t\t) }\n\t\t\t\t</Placeholder>\n\t\t\t) }\n\t\t\t{ ! logoUrl && canUserEdit && (\n\t\t\t\t<MediaPlaceholder\n\t\t\t\t\tonSelect={ onInitialSelectLogo }\n\t\t\t\t\taccept={ ACCEPT_MEDIA_STRING }\n\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\tonError={ onUploadError }\n\t\t\t\t\tplaceholder={ placeholder }\n\t\t\t\t\tmediaLibraryButton={ ( { open } ) => {\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\ticon={ upload }\n\t\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\t\tlabel={ label }\n\t\t\t\t\t\t\t\tshowTooltip\n\t\t\t\t\t\t\t\ttooltipPosition=\"top center\"\n\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\topen();\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</div>\n\t);\n}\n"]}
@@ -38,14 +38,6 @@ const metadata = {
38
38
  supports: {
39
39
  align: true,
40
40
  html: false,
41
- color: {
42
- gradients: true,
43
- link: true
44
- },
45
- spacing: {
46
- padding: true
47
- },
48
- __experimentalLayout: true,
49
41
  reusable: false
50
42
  },
51
43
  editorStyle: "wp-block-template-part-editor"
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/template-part/index.js"],"names":["startCase","store","coreDataStore","select","symbolFilled","addFilter","edit","enhanceTemplatePartVariations","name","metadata","settings","icon","__experimentalLabel","slug","theme","entity","getEntityRecord","title","rendered","DISALLOWED_PARENTS","can","blockType","rootClientId","getBlock","getBlockParentsByBlockName","disallowedParentType","hasDisallowedParent","length"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,SAAT,QAA0B,QAA1B;AAEA;AACA;AACA;;AACA,SAASC,KAAK,IAAIC,aAAlB,QAAuC,sBAAvC;AACA,SAASC,MAAT,QAAuB,iBAAvB;AACA,SAASC,YAAT,QAA6B,kBAA7B;AACA,SAASC,SAAT,QAA0B,kBAA1B;AAEA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,OAAOC,IAAP,MAAiB,QAAjB;AACA,SAASC,6BAAT,QAA8C,cAA9C;AAEA,MAAM;AAAEC,EAAAA;AAAF,IAAWC,QAAjB;AACA,SAASA,QAAT,EAAmBD,IAAnB;AAEA,OAAO,MAAME,QAAQ,GAAG;AACvBC,EAAAA,IAAI,EAAEP,YADiB;AAEvBQ,EAAAA,mBAAmB,EAAE,QAAuB;AAAA;;AAAA,QAArB;AAAEC,MAAAA,IAAF;AAAQC,MAAAA;AAAR,KAAqB;;AAC3C;AACA;AACA,QAAK,CAAED,IAAP,EAAc;AACb;AACA;;AAED,UAAME,MAAM,GAAGZ,MAAM,CAAED,aAAF,CAAN,CAAwBc,eAAxB,CACd,UADc,EAEd,kBAFc,EAGdF,KAAK,GAAG,IAAR,GAAeD,IAHD,CAAf;;AAKA,QAAK,CAAEE,MAAP,EAAgB;AACf;AACA;;AAED,WAAOf,SAAS,CAAE,kBAAAe,MAAM,CAACE,KAAP,gEAAcC,QAAd,KAA0BH,MAAM,CAACF,IAAnC,CAAhB;AACA,GAnBsB;AAoBvBP,EAAAA;AApBuB,CAAjB,C,CAuBP;;AACAD,SAAS,CACR,0BADQ,EAER,oBAFQ,EAGRE,6BAHQ,CAAT,C,CAMA;;AACA,MAAMY,kBAAkB,GAAG,CAAE,oBAAF,EAAwB,mBAAxB,CAA3B;AACAd,SAAS,CACR,0CADQ,EAER,sCAFQ,EAGR,CACCe,GADD,EAECC,SAFD,EAGCC,YAHD,YAKK;AAAA,MADJ;AAAEC,IAAAA,QAAF;AAAYC,IAAAA;AAAZ,GACI;;AACJ,MAAKH,SAAS,CAACb,IAAV,KAAmB,oBAAxB,EAA+C;AAC9C,WAAOY,GAAP;AACA;;AAED,OAAM,MAAMK,oBAAZ,IAAoCN,kBAApC,EAAyD;AAAA;;AACxD,UAAMO,mBAAmB,GACxB,cAAAH,QAAQ,CAAED,YAAF,CAAR,wDAA0Bd,IAA1B,MAAmCiB,oBAAnC,IACAD,0BAA0B,CAAEF,YAAF,EAAgBG,oBAAhB,CAA1B,CACEE,MAHH;;AAIA,QAAKD,mBAAL,EAA2B;AAC1B,aAAO,KAAP;AACA;AACD;;AACD,SAAO,IAAP;AACA,CAvBO,CAAT","sourcesContent":["/**\n * External dependencies\n */\nimport { startCase } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { store as coreDataStore } from '@wordpress/core-data';\nimport { select } from '@wordpress/data';\nimport { symbolFilled } from '@wordpress/icons';\nimport { addFilter } from '@wordpress/hooks';\n\n/**\n * Internal dependencies\n */\nimport metadata from './block.json';\nimport edit from './edit';\nimport { enhanceTemplatePartVariations } from './variations';\n\nconst { name } = metadata;\nexport { metadata, name };\n\nexport const settings = {\n\ticon: symbolFilled,\n\t__experimentalLabel: ( { slug, theme } ) => {\n\t\t// Attempt to find entity title if block is a template part.\n\t\t// Require slug to request, otherwise entity is uncreated and will throw 404.\n\t\tif ( ! slug ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst entity = select( coreDataStore ).getEntityRecord(\n\t\t\t'postType',\n\t\t\t'wp_template_part',\n\t\t\ttheme + '//' + slug\n\t\t);\n\t\tif ( ! entity ) {\n\t\t\treturn;\n\t\t}\n\n\t\treturn startCase( entity.title?.rendered || entity.slug );\n\t},\n\tedit,\n};\n\n// Importing this file includes side effects. This is whitelisted in block-library/package.json under sideEffects\naddFilter(\n\t'blocks.registerBlockType',\n\t'core/template-part',\n\tenhanceTemplatePartVariations\n);\n\n// Prevent adding template parts inside post templates.\nconst DISALLOWED_PARENTS = [ 'core/post-template', 'core/post-content' ];\naddFilter(\n\t'blockEditor.__unstableCanInsertBlockType',\n\t'removeTemplatePartsFromPostTemplates',\n\t(\n\t\tcan,\n\t\tblockType,\n\t\trootClientId,\n\t\t{ getBlock, getBlockParentsByBlockName }\n\t) => {\n\t\tif ( blockType.name !== 'core/template-part' ) {\n\t\t\treturn can;\n\t\t}\n\n\t\tfor ( const disallowedParentType of DISALLOWED_PARENTS ) {\n\t\t\tconst hasDisallowedParent =\n\t\t\t\tgetBlock( rootClientId )?.name === disallowedParentType ||\n\t\t\t\tgetBlockParentsByBlockName( rootClientId, disallowedParentType )\n\t\t\t\t\t.length;\n\t\t\tif ( hasDisallowedParent ) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\t\treturn true;\n\t}\n);\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/template-part/index.js"],"names":["startCase","store","coreDataStore","select","symbolFilled","addFilter","edit","enhanceTemplatePartVariations","name","metadata","settings","icon","__experimentalLabel","slug","theme","entity","getEntityRecord","title","rendered","DISALLOWED_PARENTS","can","blockType","rootClientId","getBlock","getBlockParentsByBlockName","disallowedParentType","hasDisallowedParent","length"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,SAAT,QAA0B,QAA1B;AAEA;AACA;AACA;;AACA,SAASC,KAAK,IAAIC,aAAlB,QAAuC,sBAAvC;AACA,SAASC,MAAT,QAAuB,iBAAvB;AACA,SAASC,YAAT,QAA6B,kBAA7B;AACA,SAASC,SAAT,QAA0B,kBAA1B;AAEA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,OAAOC,IAAP,MAAiB,QAAjB;AACA,SAASC,6BAAT,QAA8C,cAA9C;AAEA,MAAM;AAAEC,EAAAA;AAAF,IAAWC,QAAjB;AACA,SAASA,QAAT,EAAmBD,IAAnB;AAEA,OAAO,MAAME,QAAQ,GAAG;AACvBC,EAAAA,IAAI,EAAEP,YADiB;AAEvBQ,EAAAA,mBAAmB,EAAE,QAAuB;AAAA;;AAAA,QAArB;AAAEC,MAAAA,IAAF;AAAQC,MAAAA;AAAR,KAAqB;;AAC3C;AACA;AACA,QAAK,CAAED,IAAP,EAAc;AACb;AACA;;AAED,UAAME,MAAM,GAAGZ,MAAM,CAAED,aAAF,CAAN,CAAwBc,eAAxB,CACd,UADc,EAEd,kBAFc,EAGdF,KAAK,GAAG,IAAR,GAAeD,IAHD,CAAf;;AAKA,QAAK,CAAEE,MAAP,EAAgB;AACf;AACA;;AAED,WAAOf,SAAS,CAAE,kBAAAe,MAAM,CAACE,KAAP,gEAAcC,QAAd,KAA0BH,MAAM,CAACF,IAAnC,CAAhB;AACA,GAnBsB;AAoBvBP,EAAAA;AApBuB,CAAjB,C,CAuBP;;AACAD,SAAS,CACR,0BADQ,EAER,oBAFQ,EAGRE,6BAHQ,CAAT,C,CAMA;;AACA,MAAMY,kBAAkB,GAAG,CAAE,oBAAF,EAAwB,mBAAxB,CAA3B;AACAd,SAAS,CACR,0CADQ,EAER,sCAFQ,EAGR,CACCe,GADD,EAECC,SAFD,EAGCC,YAHD,YAKK;AAAA,MADJ;AAAEC,IAAAA,QAAF;AAAYC,IAAAA;AAAZ,GACI;;AACJ,MAAKH,SAAS,CAACb,IAAV,KAAmB,oBAAxB,EAA+C;AAC9C,WAAOY,GAAP;AACA;;AAED,OAAM,MAAMK,oBAAZ,IAAoCN,kBAApC,EAAyD;AAAA;;AACxD,UAAMO,mBAAmB,GACxB,cAAAH,QAAQ,CAAED,YAAF,CAAR,wDAA0Bd,IAA1B,MAAmCiB,oBAAnC,IACAD,0BAA0B,CAAEF,YAAF,EAAgBG,oBAAhB,CAA1B,CACEE,MAHH;;AAIA,QAAKD,mBAAL,EAA2B;AAC1B,aAAO,KAAP;AACA;AACD;;AACD,SAAO,IAAP;AACA,CAvBO,CAAT","sourcesContent":["/**\n * External dependencies\n */\nimport { startCase } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { store as coreDataStore } from '@wordpress/core-data';\nimport { select } from '@wordpress/data';\nimport { symbolFilled } from '@wordpress/icons';\nimport { addFilter } from '@wordpress/hooks';\n\n/**\n * Internal dependencies\n */\nimport metadata from './block.json';\nimport edit from './edit';\nimport { enhanceTemplatePartVariations } from './variations';\n\nconst { name } = metadata;\nexport { metadata, name };\n\nexport const settings = {\n\ticon: symbolFilled,\n\t__experimentalLabel: ( { slug, theme } ) => {\n\t\t// Attempt to find entity title if block is a template part.\n\t\t// Require slug to request, otherwise entity is uncreated and will throw 404.\n\t\tif ( ! slug ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst entity = select( coreDataStore ).getEntityRecord(\n\t\t\t'postType',\n\t\t\t'wp_template_part',\n\t\t\ttheme + '//' + slug\n\t\t);\n\t\tif ( ! entity ) {\n\t\t\treturn;\n\t\t}\n\n\t\treturn startCase( entity.title?.rendered || entity.slug );\n\t},\n\tedit,\n};\n\n// Importing this file includes side effects. This is whitelisted in block-library/package.json under sideEffects\naddFilter(\n\t'blocks.registerBlockType',\n\t'core/template-part',\n\tenhanceTemplatePartVariations\n);\n\n// Prevent adding template parts inside post templates.\nconst DISALLOWED_PARENTS = [ 'core/post-template', 'core/post-content' ];\naddFilter(\n\t'blockEditor.__unstableCanInsertBlockType',\n\t'removeTemplatePartsFromPostTemplates',\n\t(\n\t\tcan,\n\t\tblockType,\n\t\trootClientId,\n\t\t{ getBlock, getBlockParentsByBlockName }\n\t) => {\n\t\tif ( blockType.name !== 'core/template-part' ) {\n\t\t\treturn can;\n\t\t}\n\n\t\tfor ( const disallowedParentType of DISALLOWED_PARENTS ) {\n\t\t\tconst hasDisallowedParent =\n\t\t\t\tgetBlock( rootClientId )?.name === disallowedParentType ||\n\t\t\t\tgetBlockParentsByBlockName( rootClientId, disallowedParentType )\n\t\t\t\t\t.length;\n\t\t\tif ( hasDisallowedParent ) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\t\treturn true;\n\t}\n);\n"]}
@@ -142,11 +142,11 @@
142
142
  }
143
143
 
144
144
  .has-normal-font-size {
145
- font-size: var(--wp--preset--font-size--normal) !important;
145
+ font-size: var(--wp--preset--font-size--normal);
146
146
  }
147
147
 
148
148
  .has-huge-font-size {
149
- font-size: var(--wp--preset--font-size--huge) !important;
149
+ font-size: var(--wp--preset--font-size--huge);
150
150
  }
151
151
 
152
152
  .has-text-align-center {
@@ -142,11 +142,11 @@
142
142
  }
143
143
 
144
144
  .has-normal-font-size {
145
- font-size: var(--wp--preset--font-size--normal) !important;
145
+ font-size: var(--wp--preset--font-size--normal);
146
146
  }
147
147
 
148
148
  .has-huge-font-size {
149
- font-size: var(--wp--preset--font-size--huge) !important;
149
+ font-size: var(--wp--preset--font-size--huge);
150
150
  }
151
151
 
152
152
  .has-text-align-center {
@@ -2658,11 +2658,11 @@ div[data-type="core/post-featured-image"] img {
2658
2658
  }
2659
2659
 
2660
2660
  .editor-styles-wrapper .has-normal-font-size {
2661
- font-size: var(--wp--preset--font-size--normal) !important;
2661
+ font-size: var(--wp--preset--font-size--normal);
2662
2662
  }
2663
2663
 
2664
2664
  .editor-styles-wrapper .has-huge-font-size {
2665
- font-size: var(--wp--preset--font-size--huge) !important;
2665
+ font-size: var(--wp--preset--font-size--huge);
2666
2666
  }
2667
2667
 
2668
2668
  /**
@@ -2666,11 +2666,11 @@ div[data-type="core/post-featured-image"] img {
2666
2666
  }
2667
2667
 
2668
2668
  .editor-styles-wrapper .has-normal-font-size {
2669
- font-size: var(--wp--preset--font-size--normal) !important;
2669
+ font-size: var(--wp--preset--font-size--normal);
2670
2670
  }
2671
2671
 
2672
2672
  .editor-styles-wrapper .has-huge-font-size {
2673
- font-size: var(--wp--preset--font-size--huge) !important;
2673
+ font-size: var(--wp--preset--font-size--huge);
2674
2674
  }
2675
2675
 
2676
2676
  /**
@@ -145,6 +145,7 @@
145
145
  .wp-block-navigation.is-vertical {
146
146
  --navigation-layout-direction: column;
147
147
  --navigation-layout-justify: initial;
148
+ --navigation-layout-align: flex-start;
148
149
  }
149
150
  .wp-block-navigation.no-wrap {
150
151
  --navigation-layout-wrap: nowrap;
@@ -145,6 +145,7 @@
145
145
  .wp-block-navigation.is-vertical {
146
146
  --navigation-layout-direction: column;
147
147
  --navigation-layout-justify: initial;
148
+ --navigation-layout-align: flex-start;
148
149
  }
149
150
  .wp-block-navigation.no-wrap {
150
151
  --navigation-layout-wrap: nowrap;
@@ -76,10 +76,10 @@
76
76
  */
77
77
  .wp-block-navigation .wp-block-page-list {
78
78
  display: flex;
79
- flex-direction: var(--layout-direction, initial);
80
- justify-content: var(--layout-justify, initial);
81
- align-items: var(--layout-align, initial);
82
- flex-wrap: var(--layout-wrap, wrap);
79
+ flex-direction: var(--navigation-layout-direction, initial);
80
+ justify-content: var(--navigation-layout-justify, initial);
81
+ align-items: var(--navigation-layout-align, initial);
82
+ flex-wrap: var(--navigation-layout-wrap, wrap);
83
83
  background-color: inherit;
84
84
  }
85
85
  .wp-block-navigation .wp-block-navigation-item {
@@ -76,10 +76,10 @@
76
76
  */
77
77
  .wp-block-navigation .wp-block-page-list {
78
78
  display: flex;
79
- flex-direction: var(--layout-direction, initial);
80
- justify-content: var(--layout-justify, initial);
81
- align-items: var(--layout-align, initial);
82
- flex-wrap: var(--layout-wrap, wrap);
79
+ flex-direction: var(--navigation-layout-direction, initial);
80
+ justify-content: var(--navigation-layout-justify, initial);
81
+ align-items: var(--navigation-layout-align, initial);
82
+ flex-wrap: var(--navigation-layout-wrap, wrap);
83
83
  background-color: inherit;
84
84
  }
85
85
  .wp-block-navigation .wp-block-navigation-item {
@@ -82,64 +82,37 @@
82
82
  list-style: none;
83
83
  padding: 0;
84
84
  }
85
- .wp-block-post-template li,
86
- .wp-block-query-loop li {
87
- clear: both;
88
- }
89
85
  .wp-block-post-template.is-flex-container,
90
86
  .wp-block-query-loop.is-flex-container {
91
87
  flex-direction: row;
92
88
  display: flex;
93
89
  flex-wrap: wrap;
90
+ gap: 1.25em;
94
91
  }
95
92
  .wp-block-post-template.is-flex-container li,
96
93
  .wp-block-query-loop.is-flex-container li {
97
- margin: 0 0 1.25em 0;
94
+ margin: 0;
98
95
  width: 100%;
99
96
  }
100
97
  @media (min-width: 600px) {
101
- .wp-block-post-template.is-flex-container li,
102
- .wp-block-query-loop.is-flex-container li {
103
- margin-left: 1.25em;
104
- }
105
98
  .wp-block-post-template.is-flex-container.is-flex-container.columns-2 > li,
106
99
  .wp-block-query-loop.is-flex-container.is-flex-container.columns-2 > li {
107
100
  width: calc((100% / 2) - 1.25em + (1.25em / 2));
108
101
  }
109
- .wp-block-post-template.is-flex-container.is-flex-container.columns-2 > li:nth-child(2n),
110
- .wp-block-query-loop.is-flex-container.is-flex-container.columns-2 > li:nth-child(2n) {
111
- margin-left: 0;
112
- }
113
102
  .wp-block-post-template.is-flex-container.is-flex-container.columns-3 > li,
114
103
  .wp-block-query-loop.is-flex-container.is-flex-container.columns-3 > li {
115
104
  width: calc((100% / 3) - 1.25em + (1.25em / 3));
116
105
  }
117
- .wp-block-post-template.is-flex-container.is-flex-container.columns-3 > li:nth-child(3n),
118
- .wp-block-query-loop.is-flex-container.is-flex-container.columns-3 > li:nth-child(3n) {
119
- margin-left: 0;
120
- }
121
106
  .wp-block-post-template.is-flex-container.is-flex-container.columns-4 > li,
122
107
  .wp-block-query-loop.is-flex-container.is-flex-container.columns-4 > li {
123
108
  width: calc((100% / 4) - 1.25em + (1.25em / 4));
124
109
  }
125
- .wp-block-post-template.is-flex-container.is-flex-container.columns-4 > li:nth-child(4n),
126
- .wp-block-query-loop.is-flex-container.is-flex-container.columns-4 > li:nth-child(4n) {
127
- margin-left: 0;
128
- }
129
110
  .wp-block-post-template.is-flex-container.is-flex-container.columns-5 > li,
130
111
  .wp-block-query-loop.is-flex-container.is-flex-container.columns-5 > li {
131
112
  width: calc((100% / 5) - 1.25em + (1.25em / 5));
132
113
  }
133
- .wp-block-post-template.is-flex-container.is-flex-container.columns-5 > li:nth-child(5n),
134
- .wp-block-query-loop.is-flex-container.is-flex-container.columns-5 > li:nth-child(5n) {
135
- margin-left: 0;
136
- }
137
114
  .wp-block-post-template.is-flex-container.is-flex-container.columns-6 > li,
138
115
  .wp-block-query-loop.is-flex-container.is-flex-container.columns-6 > li {
139
116
  width: calc((100% / 6) - 1.25em + (1.25em / 6));
140
117
  }
141
- .wp-block-post-template.is-flex-container.is-flex-container.columns-6 > li:nth-child(6n),
142
- .wp-block-query-loop.is-flex-container.is-flex-container.columns-6 > li:nth-child(6n) {
143
- margin-left: 0;
144
- }
145
118
  }