/* This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this file, * You can obtain one at http://mozilla.org/MPL/2.0/. */ import { ContentSection } from "content-src/components/CustomizeMenu/ContentSection/ContentSection"; import { connect } from "react-redux"; import React from "react"; const PREF_NOVA_ENABLED = "nova.enabled"; // eslint-disable-next-line no-shadow import { CSSTransition } from "react-transition-group"; export class _CustomizeMenu extends React.PureComponent { constructor(props) { super(props); this.onEntered = this.onEntered.bind(this); this.onExited = this.onExited.bind(this); this.onSubpanelToggle = this.onSubpanelToggle.bind(this); this.personalizeButtonRef = React.createRef(); this.customizeMenuRef = React.createRef(); this.closeButtonRef = React.createRef(); this.state = { exitEventFired: false, subpanelOpen: false, }; } onSubpanelToggle(isOpen) { this.setState({ subpanelOpen: isOpen }); } onEntered() { this.setState({ exitEventFired: false }); if (this.closeButtonRef.current) { this.closeButtonRef.current.focus(); } } onExited() { this.setState({ exitEventFired: true }); if (this.personalizeButtonRef.current) { this.personalizeButtonRef.current.focus(); } } render() { const activationWindowVariant = this.props.Prefs.values["activationWindow.variant"]; const activationWindowClass = activationWindowVariant ? `activation-window-variant-${activationWindowVariant}` : ""; // @nova-cleanup(remove-pref): remove nova pref const novaEnabled = this.props.Prefs.values[PREF_NOVA_ENABLED]; return (
this.props.onClose()} id="close-button" type="icon ghost" data-l10n-id="newtab-custom-close-menu-button" iconsrc="chrome://global/skin/icons/close.svg" ref={this.closeButtonRef} >
); } } export const CustomizeMenu = connect(state => ({ DiscoveryStream: state.DiscoveryStream, Prefs: state.Prefs, }))(_CustomizeMenu);