import * as React from 'react'; import { PropertyPaneWidthMode, type IPropertyPaneData } from './IPropertyPane'; /** * Propertypane component props. * @internal */ export interface IPropertyPaneProps { data: IPropertyPaneData; propertyPaneWidthMode?: PropertyPaneWidthMode; children?: React.ReactNode; } /** * Propertypane component state. */ export interface IPropertyPaneState { isSaveButtonEnabled: boolean; saveConfirmationMessage: string; currentPage: number; } /** * Page direction. */ export declare enum PageDirection { back = -1, next = 1 } /** * A map to maintain the state(collapsed or not) of all the groups of a PropertyPane page. * This dictionary is updated when the user makes any changes to the PropertyPane group. */ export interface IPropertyPaneGroupsStateMap { [key: string]: boolean; } /** * A map to maintain the PropertyPaneGroupsState for the PropertyPane pages. */ export interface IPropertyPanePagesStateMap { [key: string]: IPropertyPaneGroupsStateMap; } /** * Propertypane component. * * @internal */ export default class PropertyPane extends React.Component { refs: { [key: string]: Element; propertyPane: HTMLElement; }; private readonly _debounceCallbacks; /** * properties bag of the web part. */ private _properties; private _invalidEntries; private _propertyPane; private _propertyPaneContent; private _currentlyConfiguredWebPartId; private _isPropertyPaneReplaced; private _isPropertyPaneExpanded; /** * Dictionary to maintain the PropertyPaneGroupsState for each PropertyPane page. */ private _propertyPanePagesStateMap; /** * Constructor to instantiate the propertypane component. */ constructor(props: IPropertyPaneProps); /** * React component lifecycle event. * @param props - new props for the component. */ UNSAFE_componentWillReceiveProps(props: IPropertyPaneProps): void; componentDidMount(): void; componentDidUpdate(props: IPropertyPaneProps): void; /** * React component lifecycle method. * Added this method to avoid, unnecessary renders. */ shouldComponentUpdate(nextProps: IPropertyPaneProps, nextState: IPropertyPaneState): boolean; render(): React.ReactElement<{}>; /** * Renders the description for no configuration scenario. */ private _renderNoConfigurationState; private _onChangeTab; private get _descriptionId(); /** * Renders page on the property pane. */ private _renderPage; private _setContainerDiv; /** * Private method which gets called when user manually collapses or opens the propertyPane group, * when the Propertypane page's displayGroupsAsAccordion prop is true. * * @param pageNumber - page on which the group's state changed. * @param groupName - name of the group. * @param isCollapsed - indicates whether the group is collapsed or not. */ private _propertyPaneGroupStateChanged; /** * Returns if the empty page should be rendered in property pane. */ private get _shouldRenderEmptyPage(); /** * Flips the page based on the direction. * @param direction - direction of the page flip. Positive value is forward direction, negative is backwards. */ private _flipPage; private _setEntryState; private _enableSaveButton; private _onChange; private _handleSaveClick; private _handleCloseClick; private _handleBackClick; private _raiseEventImpl; private _raiseEvent; private _onPropertyPaneKeyDown; /** * Handles the case when the user presses 'Alt + P'(it's the key combination to toggle the PropertyPane focus) * while the Propertypane is in focus. */ private _propertyPaneShouldLooseFocus; private _setTimeOutForFocus; private get _isManagingFocusBySettings(); private _focusOnFirstActionableElement; /** * Method to update the tab indexes of all the elements in the root to the given value. */ private _updateTabIndexes; /** * Resetting the PropertyPane state. * @param webPartId - web part id to be configured with. */ private _resetState; private _getCssBottomValueForPageContentElement; } //# sourceMappingURL=PropertyPane.d.ts.map