UNPKG

@uifabric/experiments

Version:

Experimental React components for building experiences for Office 365.

51 lines (50 loc) 2.35 kB
/// <reference types="react" /> import * as React from 'react'; import { IComponent, IComponentStyles, IHTMLSlot, IStyleableComponentProps } from '../../Foundation'; import { IBaseProps, IRefObject } from '../../Utilities'; import { ICollapsibleSectionTitleSlot } from './CollapsibleSectionTitle.types'; export declare type ICollapsibleSectionComponent = IComponent<ICollapsibleSectionProps, ICollapsibleSectionTokens, ICollapsibleSectionStyles, ICollapsibleSectionViewProps>; export declare type ICollapsibleSectionTokenReturnType = ReturnType<Extract<ICollapsibleSectionComponent['tokens'], Function>>; export declare type ICollapsibleSectionStylesReturnType = ReturnType<Extract<ICollapsibleSectionComponent['styles'], Function>>; export interface ICollapsibleSectionSlots { root?: IHTMLSlot; title?: ICollapsibleSectionTitleSlot; body?: IHTMLSlot; } export interface ICollapsibleSection { } export interface ICollapsibleSectionProps extends ICollapsibleSectionSlots, IStyleableComponentProps<ICollapsibleSectionViewProps, ICollapsibleSectionStyles, ICollapsibleSectionTokens>, IBaseProps<ICollapsibleSection> { /** * Default and initial collapsed state if collapsed prop is not provided. * @default true */ defaultCollapsed?: boolean; /** * Collapsed state. If provided, component is controlled. * @default defaultCollapsed */ collapsed?: boolean; indent?: number; } export interface ICollapsibleSectionViewProps extends ICollapsibleSectionProps { /** * Optional callback to access the Title element interface. Use this instead of ref for accessing * the public methods and properties of the component. */ titleElementRef?: IRefObject<HTMLButtonElement>; /** * Toggle input callback triggered by mouse and keyboard input. */ onClick?: (ev: React.MouseEvent<Element>) => void; /** * Key down callback for root element of CollapsibleSection. */ onRootKeyDown?: (ev: React.KeyboardEvent<Element>) => void; /** * Key down callback for CollapsibleSection title. */ onKeyDown?: (ev: React.KeyboardEvent<Element>) => void; } export interface ICollapsibleSectionTokens { } export declare type ICollapsibleSectionStyles = IComponentStyles<ICollapsibleSectionSlots>;