@carbon/ibm-products
Version:
Carbon for IBM Products
85 lines (84 loc) • 2.8 kB
TypeScript
/**
* Copyright IBM Corp. 2021, 2024
*
* 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';
interface CreateSidePanelProps {
/**
* Provide an optional class to be applied to the containing node.
*/
className?: string;
/**
* The description of the CreateSidePanel serves to provide more information about the form within the panel.
*/
description?: ReactNode;
/**
* Specifies a boolean for disabling or enabling the primary button. This is important for form validation
* Returning `true` prevents the primary button from being clicked until required fields are completed.
*/
disableSubmit?: boolean;
/**
* Specifies an optional field that provides a additional context for a form
*/
formDescription?: ReactNode;
/**
* Specifies a required field that provides a title for a form
*/
formTitle: ReactNode;
/**
* Unique identifier
*/
id?: string;
/**
* Specifies an optional handler which is called when the CreateSidePanel
* is closed.
*/
onRequestClose?(): void;
/**
* Specifies an optional handler which is called when the CreateSidePanel
* primary button is pressed.
*/
onRequestSubmit?(): void;
/**
* Specifies whether the CreateSidePanel is open or not.
*/
open: boolean;
/**
* Specifies the primary button's text in the modal.
*/
primaryButtonText: string;
/**
* Specifies the secondary button's text in the modal.
*/
secondaryButtonText: string;
/**
* This is the selector to the element that contains all of the page content that will shrink when the panel is a slide in.
* This prop is required since create flows use the `slideIn` variant of the side panel.
*/
selectorPageContent: string;
/**
* Specifies which DOM element in the form should be focused.
*/
selectorPrimaryFocus: string;
/**
* **Experimental:** Provide a `Slug` component to be rendered inside the `SidePanel` component
*/
slug?: ReactNode;
/**
* The subtitle of the CreateSidePanel is optional and serves to provide more information about the modal.
*/
subtitle?: ReactNode;
/**
* The title of the CreateSidePanel is usually the product or service name.
*/
title: string;
}
/**
* Use with medium complexity creations if the user needs page context. On-page content can be seen and interacted with.
*/
export declare let CreateSidePanel: React.ForwardRefExoticComponent<CreateSidePanelProps & {
children?: ReactNode | undefined;
} & React.RefAttributes<HTMLDivElement>>;
export {};