@carbon/ibm-products
Version:
Carbon for IBM Products
131 lines • 4.6 kB
TypeScript
/**
* Copyright IBM Corp. 2023, 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, { MutableRefObject, ReactNode } from 'react';
import PropTypes from 'prop-types';
export interface CoachmarkProps {
/**
* Where to render the Coachmark relative to its target.
* Applies only to Floating and Tooltip Coachmarks.
* @see COACHMARK_ALIGNMENT
*/
align?: 'bottom' | 'bottom-left' | 'bottom-right' | 'left' | 'left-top' | 'left-bottom' | 'right' | 'right-top' | 'right-bottom' | 'top' | 'top-left' | 'top-right';
/**
* Auto aligns the coachmark based on screen boundaries
* Applies only to Tooltip Coachmarks.
*/
autoAlign?: boolean;
/**
* Coachmark should use a single CoachmarkOverlayElements component as a child.
* @see CoachmarkOverlayElements
*/
children: ReactNode;
/**
* Optional class name for this component.
*/
className?: string;
/**
* Function to call when the Coachmark closes.
*/
onClose?: () => void;
/**
* @deprecated
* Optional class name for the Coachmark Overlay component.
*/
overlayClassName?: string;
/**
* @deprecated
* What kind or style of Coachmark to render.
*/
overlayKind?: 'tooltip' | 'floating' | 'stacked';
/**
* @deprecated
*/
overlayRef?: MutableRefObject<HTMLElement | null>;
/**
* @deprecated
* By default, the Coachmark will be appended to the end of `document.body`.
* The Coachmark will remain persistent as the user navigates the app until
* the user closes the Coachmark.
*
* Alternatively, the app developer can tightly couple the Coachmark to a DOM
* element or other component by specifying a CSS selector. The Coachmark will
* remain visible as long as that element remains visible or mounted. When the
* element is hidden or component is unmounted, the Coachmark will disappear.
*/
portalTarget?: string;
/**
* Fine tune the position of the target in pixels. Applies only to Beacons.
*/
positionTune?: {
x: number;
y: number;
};
/**
* @deprecated
* The optional button or beacon that the user will click to show the Coachmark.
*/
target: React.ReactNode;
/**
* @deprecated
* Determines the theme of the component.
*/
theme?: 'light' | 'dark';
/**
* Determines if the coachmark is open by default.
* Does nothing if `overlayKind=stacked`.
*/
isOpenByDefault?: boolean;
/**
* Tooltip text and aria label for the Close button icon.
*/
closeIconDescription?: string;
}
/**
* Coachmarks are used to call out specific functionality or concepts
* within the UI that may not be intuitive but are important for the
* user to gain understanding of the product's main value and discover new use cases.
* @deprecated This component is deprecated.
*/
export declare const Coachmark: React.ForwardRefExoticComponent<CoachmarkProps & React.RefAttributes<HTMLElement>>;
export declare const deprecatedProps: {
/**
* **Deprecated**
* Optional class name for the Coachmark Overlay component.
*/
overlayClassName: PropTypes.Requireable<string>;
/**
* **Deprecated**
* What kind or style of Coachmark to render.
*/
overlayKind: PropTypes.Requireable<string>;
overlayRef: PropTypes.Requireable<PropTypes.InferProps<{
current: PropTypes.Validator<HTMLElement | null>;
}>>;
/**
* **Deprecated**
* By default, the Coachmark will be appended to the end of `document.body`.
* The Coachmark will remain persistent as the user navigates the app until
* the user closes the Coachmark.
*
* Alternatively, the app developer can tightly couple the Coachmark to a DOM
* element or other component by specifying a CSS selector. The Coachmark will
* remain visible as long as that element remains visible or mounted. When the
* element is hidden or component is unmounted, the Coachmark will disappear.
*/
portalTarget: PropTypes.Requireable<string>;
/**
* **Deprecated**
* The optional button or beacon that the user will click to show the Coachmark.
*/
target: PropTypes.Requireable<PropTypes.ReactNodeLike>;
/**
* **Deprecated**
* Determines the theme of the component.
*/
theme: PropTypes.Requireable<string>;
};
//# sourceMappingURL=Coachmark.d.ts.map