/** * Copyright IBM Corp. 2021, 2025 * * This source code is licensed under the Apache-2.0 license found in the * LICENSE file in the root directory of this source tree. */ import React, { ReactNode } from 'react'; import { StepsContextType } from '../CreateTearsheet/CreateTearsheet'; export declare const StepsContext: React.Context; export declare const StepNumberContext: React.Context; interface HeaderBreadcrumb { /** breadcrumb item key */ key: string; /** breadcrumb item label */ label: string; /** breadcrumb item link */ href?: string; /** breadcrumb item title tooltip */ title?: string; /** Provide if this breadcrumb item represents the current page */ isCurrentPage?: boolean; } type MaybePromise = Promise | T; type CreateFullPageBreadcrumbsProps = { /** The header breadcrumbs */ breadcrumbs?: null | undefined; /** * Label for open/close overflow button used for breadcrumb items that do not fit */ breadcrumbsOverflowAriaLabel?: never; breadcrumbOverflowTooltipAlign?: never; } | { /** The header breadcrumbs */ breadcrumbs: HeaderBreadcrumb[]; /** * Label for open/close overflow button used for breadcrumb items that do not fit */ breadcrumbsOverflowAriaLabel: string; breadcrumbOverflowTooltipAlign?: string; }; type CreateFullPageBaseProps = { /** * The back button text */ backButtonText?: string; /** * The cancel button text */ cancelButtonText: string; /** * The main content of the full page */ children?: ReactNode; /** * Provide an optional class to be applied to the containing node. */ className?: string; /** * Specifies elements to focus on first on render. */ firstFocusElement?: string; /** * This can be used to open the component to a step other than the first step. * For example, a create flow was previously in progress, data was saved, and * is now being completed. */ initialStep?: number; /** Maximum visible breadcrumb-items before overflow is used (values less than 1 are treated as 1) */ maxVisibleBreadcrumbs?: number; /** * The primary 'danger' button text in the modal */ modalDangerButtonText: string; /** * The description located below the title in the modal */ modalDescription?: string; /** * The secondary button text in the modal */ modalSecondaryButtonText: string; /** * The title located in the header of the modal */ modalTitle: string; /** * The next button text */ nextButtonText: string; /** * A prop to omit the trailing slash for the breadcrumbs */ noTrailingSlash?: boolean; /** * onChange event for Progress Indicator in the Influencer * @param data step index */ onClickInfluencerStep?: (data: number) => void; /** * An optional handler that is called when the user closes the full page (by * clicking the secondary button, located in the modal, which triggers after * clicking the ghost button in the modal */ onClose?: () => void; /** * Specify a handler for submitting the multi step full page (final step). * This function can _optionally_ return a promise that is either resolved or rejected and the CreateFullPage will handle the submitting state of the create button. * * @returns Object - if you want to prevent the modal from closing, return an object with the property preventClose set to true */ onRequestSubmit: () => MaybePromise<{ preventClose?: boolean; } | void>; /** * A secondary title of the full page, displayed in the influencer area */ secondaryTitle?: string; /** * @ignore * The aria label to be used for the UI Shell SideNav Carbon component */ sideNavAriaLabel?: string; /** * The submit button text */ submitButtonText: string; /** * The main title of the full page, displayed in the header area */ title?: string; }; export type CreateFullPageProps = CreateFullPageBaseProps & CreateFullPageBreadcrumbsProps; /** * Use with creations that must be completed in order for a service to be usable. * * ### Grid * * The `CreateFullPage` component utilizes Carbons' grid system in the inner content of the main section inside of the component. You can read more guidance on the Carbon's grid system [here](https://www.carbondesignsystem.com/guidelines/2x-grid/overview). You can include `` and `` components inside of each `CreateFullPageStep` component to get the desired affect. */ export declare const CreateFullPage: React.ForwardRefExoticComponent>; export {}; //# sourceMappingURL=CreateFullPage.d.ts.map