{
  "version": 3,
  "sources": ["../../../src/hooks/commands/use-common-commands.js"],
  "sourcesContent": ["import { useMemo } from '@wordpress/element';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { __, isRTL } from '@wordpress/i18n';\nimport { rotateLeft, rotateRight, help, backup } from '@wordpress/icons';\nimport { useCommandLoader } from '@wordpress/commands';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\nimport { store as preferencesStore } from '@wordpress/preferences';\nimport { store as coreStore } from '@wordpress/core-data';\nimport {\n\tstore as editorStore,\n\tprivateApis as editorPrivateApis,\n} from '@wordpress/editor';\nimport { unlock } from '../../lock-unlock';\nimport { store as editSiteStore } from '../../store';\n\nconst { useHistory, useLocation } = unlock( routerPrivateApis );\nconst { useGlobalStyles } = unlock( editorPrivateApis );\n\nconst getGlobalStylesToggleWelcomeGuideCommands = () =>\n\tfunction useGlobalStylesToggleWelcomeGuideCommands() {\n\t\tconst { openGeneralSidebar } = unlock( useDispatch( editSiteStore ) );\n\t\tconst { params } = useLocation();\n\t\tconst { canvas = 'view' } = params;\n\t\tconst { set } = useDispatch( preferencesStore );\n\n\t\tconst history = useHistory();\n\t\tconst isBlockBasedTheme = useSelect( ( select ) => {\n\t\t\treturn select( coreStore ).getCurrentTheme().is_block_theme;\n\t\t}, [] );\n\n\t\tconst commands = useMemo( () => {\n\t\t\tif ( ! isBlockBasedTheme ) {\n\t\t\t\treturn [];\n\t\t\t}\n\n\t\t\treturn [\n\t\t\t\t{\n\t\t\t\t\tname: 'core/edit-site/toggle-styles-welcome-guide',\n\t\t\t\t\tlabel: __( 'Learn about styles' ),\n\t\t\t\t\tcallback: ( { close } ) => {\n\t\t\t\t\t\tclose();\n\t\t\t\t\t\tif ( canvas !== 'edit' ) {\n\t\t\t\t\t\t\thistory.navigate( '/styles?canvas=edit', {\n\t\t\t\t\t\t\t\ttransition: 'canvas-mode-edit-transition',\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t}\n\t\t\t\t\t\topenGeneralSidebar( 'edit-site/global-styles' );\n\t\t\t\t\t\tset( 'core/edit-site', 'welcomeGuideStyles', true );\n\t\t\t\t\t\t// sometimes there's a focus loss that happens after some time\n\t\t\t\t\t\t// that closes the modal, we need to force reopening it.\n\t\t\t\t\t\tsetTimeout( () => {\n\t\t\t\t\t\t\tset( 'core/edit-site', 'welcomeGuideStyles', true );\n\t\t\t\t\t\t}, 500 );\n\t\t\t\t\t},\n\t\t\t\t\ticon: help,\n\t\t\t\t},\n\t\t\t];\n\t\t}, [ history, openGeneralSidebar, canvas, isBlockBasedTheme, set ] );\n\n\t\treturn {\n\t\t\tisLoading: false,\n\t\t\tcommands,\n\t\t};\n\t};\n\nconst getGlobalStylesResetCommands = () =>\n\tfunction useGlobalStylesResetCommands() {\n\t\tconst { user, setUser } = useGlobalStyles();\n\n\t\t// Check if there are user customizations that can be reset\n\t\tconst canReset =\n\t\t\t!! user &&\n\t\t\t( Object.keys( user?.styles ?? {} ).length > 0 ||\n\t\t\t\tObject.keys( user?.settings ?? {} ).length > 0 );\n\n\t\tconst commands = useMemo( () => {\n\t\t\tif ( ! canReset ) {\n\t\t\t\treturn [];\n\t\t\t}\n\n\t\t\treturn [\n\t\t\t\t{\n\t\t\t\t\tname: 'core/edit-site/reset-global-styles',\n\t\t\t\t\tlabel: __( 'Reset styles' ),\n\t\t\t\t\ticon: isRTL() ? rotateRight : rotateLeft,\n\t\t\t\t\tcallback: ( { close } ) => {\n\t\t\t\t\t\tclose();\n\t\t\t\t\t\tsetUser( { styles: {}, settings: {} } );\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t];\n\t\t}, [ canReset, setUser ] );\n\n\t\treturn {\n\t\t\tisLoading: false,\n\t\t\tcommands,\n\t\t};\n\t};\n\nconst getGlobalStylesOpenRevisionsCommands = () =>\n\tfunction useGlobalStylesOpenRevisionsCommands() {\n\t\tconst { openGeneralSidebar } = unlock( useDispatch( editSiteStore ) );\n\t\tconst { setStylesPath } = unlock( useDispatch( editorStore ) );\n\t\tconst { params } = useLocation();\n\t\tconst { canvas = 'view' } = params;\n\t\tconst history = useHistory();\n\t\tconst hasRevisions = useSelect( ( select ) => {\n\t\t\tconst { getEntityRecord, __experimentalGetCurrentGlobalStylesId } =\n\t\t\t\tselect( coreStore );\n\t\t\tconst globalStylesId = __experimentalGetCurrentGlobalStylesId();\n\t\t\tconst globalStyles = globalStylesId\n\t\t\t\t? getEntityRecord( 'root', 'globalStyles', globalStylesId )\n\t\t\t\t: undefined;\n\n\t\t\treturn !! globalStyles?._links?.[ 'version-history' ]?.[ 0 ]?.count;\n\t\t}, [] );\n\n\t\tconst commands = useMemo( () => {\n\t\t\tif ( ! hasRevisions ) {\n\t\t\t\treturn [];\n\t\t\t}\n\n\t\t\treturn [\n\t\t\t\t{\n\t\t\t\t\tname: 'core/edit-site/open-styles-revisions',\n\t\t\t\t\tlabel: __( 'Open style revisions' ),\n\t\t\t\t\ticon: backup,\n\t\t\t\t\tcallback: ( { close } ) => {\n\t\t\t\t\t\tclose();\n\t\t\t\t\t\tif ( canvas !== 'edit' ) {\n\t\t\t\t\t\t\thistory.navigate( '/styles?canvas=edit', {\n\t\t\t\t\t\t\t\ttransition: 'canvas-mode-edit-transition',\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t}\n\t\t\t\t\t\topenGeneralSidebar( 'edit-site/global-styles' );\n\t\t\t\t\t\tsetStylesPath( '/revisions' );\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t];\n\t\t}, [\n\t\t\thistory,\n\t\t\topenGeneralSidebar,\n\t\t\tsetStylesPath,\n\t\t\thasRevisions,\n\t\t\tcanvas,\n\t\t] );\n\n\t\treturn {\n\t\t\tisLoading: false,\n\t\t\tcommands,\n\t\t};\n\t};\n\nexport function useCommonCommands() {\n\tuseCommandLoader( {\n\t\tname: 'core/edit-site/toggle-styles-welcome-guide',\n\t\thook: getGlobalStylesToggleWelcomeGuideCommands(),\n\t} );\n\n\tuseCommandLoader( {\n\t\tname: 'core/edit-site/reset-global-styles',\n\t\thook: getGlobalStylesResetCommands(),\n\t} );\n\n\tuseCommandLoader( {\n\t\tname: 'core/edit-site/open-styles-revisions',\n\t\thook: getGlobalStylesOpenRevisionsCommands(),\n\t} );\n}\n"],
  "mappings": "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",
  "names": []
}
