text: /**
   * BannerNotifications component.
   *
   * Site Kit by Google, Copyright 2021 Google LLC
   *
   * Licensed under the Apache License, Version 2.0 (the "License");
   * you may not use this file except in compliance with the License.
   * You may obtain a copy of the License at
   *
   *     https://www.apache.org/licenses/LICENSE-2.0
   *
   * Unless required by applicable law or agreed to in writing, software
   * distributed under the License is distributed on an "AS IS" BASIS,
   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   * See the License for the specific language governing permissions and
   * limitations under the License.
   */
  
  /**
   * WordPress dependencies
   */
  import { Fragment } from '@wordpress/element';
  
  /**
   * Internal dependencies
   */
  import Data from 'googlesitekit-data';
  import { useFeature } from '../../hooks/useFeature';
  import { CORE_MODULES } from '../../googlesitekit/modules/datastore/constants';
  import useQueryArg from '../../hooks/useQueryArg';
  import SetupSuccessBannerNotification from './SetupSuccessBannerNotification';
  import CoreSiteBannerNotifications from './CoreSiteBannerNotifications';
  import IdeaHubPromptBannerNotification from './IdeaHubPromptBannerNotification';
  import UserInputPromptBannerNotification from './UserInputPromptBannerNotification';
  import AdSenseAlerts from './AdSenseAlerts';
  import ZeroDataStateNotifications from './ZeroDataStateNotifications';
  const { useSelect } = Data;
  
  export default function BannerNotifications() {
  	const adSenseModuleActive = useSelect( ( select ) =>
  		select( CORE_MODULES ).isModuleActive( 'adsense' )
  	);
  
  	const ideaHubModuleEnabled = useFeature( 'ideaHubModule' );
  	const userInputEnabled = useFeature( 'userInput' );
  
  	const [ notification ] = useQueryArg( 'notification' );
  
  	const zeroDataStatesEnabled = useFeature( 'zeroDataStates' );
  
  	return (
  		<Fragment>
  			{ ( 'authentication_success' === notification ||
  				'user_input_success' === notification ) && (
  				<SetupSuccessBannerNotification />
  			) }
  			<CoreSiteBannerNotifications />
  			{ zeroDataStatesEnabled && <ZeroDataStateNotifications /> }
  			{ userInputEnabled && <UserInputPromptBannerNotification /> }
  			{ ideaHubModuleEnabled && <IdeaHubPromptBannerNotification /> }
  			{ adSenseModuleActive && <AdSenseAlerts /> }
  		</Fragment>
  	);
  }
  