///
import { ContextData } from '@floating-ui/react';
import { ExtendedElements } from '@floating-ui/react';
import { ExtendedRefs } from '@floating-ui/react';
import { FloatingEvents } from '@floating-ui/react';
import { MiddlewareData } from '@floating-ui/core';
import type { Placement } from '@floating-ui/react';
import * as React from 'react';
import { ReferenceType } from '@floating-ui/react';
import { Strategy } from '@floating-ui/utils';
export declare const Accordion: ({ children, allowMultiple, className, spacing, reduceMotion, defaultExpanded, expanded, onChange, disableKeyboardExpansion, "aria-label": ariaLabel, "aria-labelledby": ariaLabelledby, }: AccordionPropsType) => React.JSX.Element;
export declare const AccordionItem: ({ title, titleSize, children, className, padding, tabIndex, id: customId, ariaHeadingLevel, }: AccordionItemPropsType) => React.JSX.Element;
export declare type AccordionItemPropsType = Readonly<{
title: React.ReactNode;
titleSize?: ResponsivePropType<'small' | 'large'>;
children?: React.ReactNode;
className?: string;
padding?: ResponsivePropType;
tabIndex?: number;
id?: string;
ariaHeadingLevel?: number;
}>;
export declare type AccordionPropsType = Readonly<{
allowMultiple?: boolean;
children?: React.ReactNode;
className?: string;
spacing?: ResponsivePropType;
reduceMotion?: boolean;
expanded?: string | Array;
defaultExpanded?: string | Array;
onChange?: (arg0: string) => void;
disableKeyboardExpansion?: boolean;
'aria-label'?: string;
'aria-labelledby'?: string;
}>;
export declare const ActionList: ({ children, toTop, direction, align, noWrap, className, ...props }: ActionListPropsType) => React.JSX.Element;
export declare const ActionListHole: ({ children, asContainer, spacing, noSpacing, spaceBellow, spacedLarge, noShrink, grow, toEnd, toRight, stretch, equalWidth, hideOverflow, className, ...props }: ActionListHolePropsType) => React.JSX.Element;
export declare type ActionListHolePropsType = {
children: React.ReactNode;
asContainer?: boolean | null | undefined;
spacing?: ActionListHoleSpacingType | null | undefined;
noSpacing?: boolean | null | undefined;
spaceBellow?: boolean | null | undefined;
spacedLarge?: boolean | null | undefined;
noShrink?: boolean | null | undefined;
grow?: boolean | null | undefined;
toEnd?: boolean | null | undefined;
toRight?: boolean | null | undefined;
stretch?: boolean | null | undefined;
equalWidth?: boolean | null | undefined;
hideOverflow?: boolean | null | undefined;
className?: string | null | undefined;
} & Omit, 'children' | 'asContainer' | 'spacing' | 'noSpacing' | 'spaceBellow' | 'spacedLarge' | 'noShrink' | 'grow' | 'toEnd' | 'toRight' | 'stretch' | 'equalWidth' | 'hideOverflow' | 'className'>;
declare type ActionListHoleSpacingType = 'xsmall' | 'small';
export declare type ActionListPropsType = {
children?: React.ReactNode;
toTop?: boolean | null | undefined;
className?: string | null | undefined;
noWrap?: boolean | null | undefined;
direction?: DirectionType | null | undefined;
align?: AligmentType | null | undefined;
} & Omit, 'children' | 'toTop' | 'className' | 'noWrap' | 'direction' | 'align'>;
declare type AligmentType = 'align-baseline' | 'stretch';
declare type AligmentType_2 = 'start' | 'center' | 'end';
declare type AligmentType_3 = 'left' | 'center' | 'right';
declare type AligmentType_4 = 'left' | 'center' | 'right';
declare type AligmentType_5 = 'left' | 'center' | 'right';
declare type AligmentType_6 = 'left' | 'center' | 'right';
declare type AriaLiveType = 'off' | 'polite' | 'assertive';
declare type AriaLiveType_2 = 'off' | 'polite' | 'assertive';
declare type AriaLiveType_3 = 'off' | 'polite' | 'assertive';
declare type AriaLiveType_4 = 'polite' | 'assertive';
declare type AriaStatusLabelType = {
loading?: string;
uploaded?: string;
};
declare type AriaStatusLabelType_2 = {
loading?: string;
loaded?: string;
};
export declare const Avatar: ({ size, border, spaced, imgSrc, className, link, ariaLinkLabel, alt, ...props }: AvatarPropsType) => React.JSX.Element;
export declare type AvatarPropsType = {
width?: number;
height?: number;
size?: AvatarSizeType;
border?: boolean;
spaced?: boolean;
imgSrc?: string;
className?: string;
link?: string;
ariaLinkLabel?: string;
alt?: string;
} & Omit, 'size' | 'border' | 'spaced' | 'imgSrc' | 'className' | 'link' | 'ariaLinkLabel' | 'alt' | 'width' | 'height'>;
declare type AvatarSizeType = 'xs' | 's' | 'm' | 'l' | 'xl' | 'xxl';
/**
* Container for grouping elements. It provides padding, background color, border and shadow.
*
* @see react docs: https://styleguide.brainly.com/latest/docs/interactive.html#boxes
* @see twig-compatible docs: https://styleguide.brainly.com/latest/docs/containers.html#box
*
* @example Text inside Box
* @returns {JSX.Element} Box component
*/
export declare const Box: React.ForwardRefExoticComponent<{
/**
* Children to be rendered inside of the Box
* @example Text inside Box
*/
children?: React.ReactNode;
/**
* Additional class names
*/
className?: string | null | undefined;
/**
* Box background color
* @example Text on a 'green-30' background
*/
color?: ColorType | null | undefined;
/**
* Box shadow
* @example Text inside box with shadow
* @default false
*/
shadow?: ResponsivePropType | undefined;
/**
* Padding size. Defaults to 'm' size, pass null to set it to 0
* @example Text inside Box with large padding
*/
padding?: ResponsivePropType | undefined;
/**
* Disable border radius
* @example Text inside Box with no border radius
* @default false
*/
noBorderRadius?: ResponsivePropType | undefined;
/**
* Show border
* @example Text inside bordered Box
* @default false
*/
border?: ResponsivePropType | undefined;
/**
* Border color (works only with `border` prop)
* @example Text inside Box with 'green-40' border
*/
borderColor?: ColorType | null | undefined;
} & Omit, "children" | "className" | "color" | "shadow" | "padding" | "noBorderRadius" | "border" | "borderColor"> & React.RefAttributes>;
export declare type BoxPropsType = {
/**
* Children to be rendered inside of the Box
* @example Text inside Box
*/
children?: React.ReactNode;
/**
* Additional class names
*/
className?: string | null | undefined;
/**
* Box background color
* @example Text on a 'green-30' background
*/
color?: ColorType | null | undefined;
/**
* Box shadow
* @example Text inside box with shadow
* @default false
*/
shadow?: ResponsivePropType;
/**
* Padding size. Defaults to 'm' size, pass null to set it to 0
* @example Text inside Box with large padding
*/
padding?: ResponsivePropType;
/**
* Disable border radius
* @example Text inside Box with no border radius
* @default false
*/
noBorderRadius?: ResponsivePropType;
/**
* Show border
* @example Text inside bordered Box
* @default false
*/
border?: ResponsivePropType;
/**
* Border color (works only with `border` prop)
* @example Text inside Box with 'green-40' border
*/
borderColor?: ColorType | null | undefined;
} & Omit, 'children' | 'className' | 'color' | 'shadow' | 'padding' | 'noBorderRadius' | 'border' | 'borderColor'>;
export declare const Breadcrumb: ({ className, short, adaptive, inlineItems, elements, spaced, ...props }: BreadcrumbPropsType) => React.JSX.Element;
export declare type BreadcrumbPropsType = {
className?: string | null | undefined;
adaptive?: boolean | null | undefined;
short?: boolean | null | undefined;
inlineItems?: boolean | null | undefined;
elements?: ReadonlyArray;
spaced?: boolean;
} & Omit, 'className' | 'adaptive' | 'short' | 'inlineItems' | 'elements'>;
export declare const Bubble: ({ alignment, direction, color, full, noShadow, children, className, ...props }: BubblePropsType) => React.JSX.Element;
declare type BubbleColorType = 'white' | 'gray-40' | 'gray-20' | 'blue-40' | 'blue-30' | 'blue-20' | 'indigo-40' | 'green-40' | 'green-30' | 'green-20' | 'red-40';
export declare type BubblePropsType = {
children: React.ReactNode;
className?: string | null | undefined;
alignment?: AligmentType_2;
direction: DirectionType_2;
color?: BubbleColorType | null | undefined;
full?: boolean | null | undefined;
noShadow?: boolean | null | undefined;
} & Omit, 'children' | 'className' | 'alignment' | 'direction' | 'color' | 'full' | 'noShadow'>;
export declare const Button: React.ForwardRefExoticComponent<{
/**
* Specify type of the button that you want to use
* @example
* @see variant="solid" https://styleguide.brainly.com/latest/docs/interactive.html?variant="solid"#buttons
* @see variant="solid-inverted" https://styleguide.brainly.com/latest/docs/interactive.html?variant="solid-inverted"#buttons
* @see variant="solid-indigo" https://styleguide.brainly.com/latest/docs/interactive.html?variant="solid-indigo"#buttons
* @see variant="solid-indigo-inverted" https://styleguide.brainly.com/latest/docs/interactive.html?variant="solid-indigo-inverted"#buttons
* @see variant="solid-light" https://styleguide.brainly.com/latest/docs/interactive.html?variant="solid-light"#buttons
* @see variant="outline" https://styleguide.brainly.com/latest/docs/interactive.html?variant="outline"#buttons
* @see variant="outline-indigo" https://styleguide.brainly.com/latest/docs/interactive.html?variant="outline-indigo"#buttons
* @see variant="outline-inverted" https://styleguide.brainly.com/latest/docs/interactive.html?variant="outline-indigo-inverted"#buttons
* @see variant="transparent" https://styleguide.brainly.com/latest/docs/interactive.html?variant="transparent"#buttons
* @see variant="transparent-light" https://styleguide.brainly.com/latest/docs/interactive.html?variant="transparent-light"#buttons
* @see variant="transparent-red" https://styleguide.brainly.com/latest/docs/interactive.html?variant="transparent-red"#buttons
* @see variant="transparent-inverted" https://styleguide.brainly.com/latest/docs/interactive.html?variant="transparent-inverted"#buttons
* @see variant="facebook" https://styleguide.brainly.com/latest/docs/interactive.html?variant="facebook"#buttons
* @see variant="google" https://styleguide.brainly.com/latest/docs/interactive.html?variant="google"#buttons
* @see variant="apple" https://styleguide.brainly.com/latest/docs/interactive.html?variant="apple"#buttons
*
*/
variant?: ButtonVariantType | undefined;
/**
* Set toggle state of the button.
* Caution: Toggle property work with for specific button variants:
* `solid-light`,`outline`, `outline-indigo`, `outline-inverted`,
* `transparent`, `transparent-light`, `transparent-red`, `transparent-inverted`
*/
toggle?: ButtonToggleType | undefined;
/**
* You can render icon inside each variant of button on the left side
* @example }
* variant="facebook"
* >
* Login with Facebook
*
*/
icon?: React.ReactNode;
/** Optional and available when icon is set. it hides button's text
* @example }
* iconOnly
* variant="facebook"
* >
* Login with Facebook
*
* */
iconOnly?: boolean | undefined;
/**
* Reverses order of icon and text. Effective only when icon is set.
*/
reversedOrder?: boolean | undefined;
/**
* Children to be rendered inside Button
* @example }
* variant="solid"
* >
* button
*
*/
children?: React.ReactNode;
/**
* There are three sizes options for buttons, not need to be specify, default is m
* @example
* @see size="s" https://styleguide.brainly.com/latest/docs/interactive.html?size="s"#buttons
* @see size="m" https://styleguide.brainly.com/latest/docs/interactive.html?size="m"#buttons
* @see size="l" https://styleguide.brainly.com/latest/docs/interactive.html?size="l"#buttons
*/
size?: ButtonSizeType | undefined;
/**
* Specify href for button, optional string
* @example
*/
href?: string | undefined;
/**
* Optional boolean for disabled button
* @example
*/
disabled?: boolean | undefined;
/**
* Show loading state. By default loading state make button disabled while
* showing spinner inside and keep button's width unchanged.
*/
loading?: boolean | undefined;
/**
* `aria-live` for loading state. Defaults to "off".
*/
loadingAriaLive?: AriaLiveType | undefined;
/**
* Accessible information about loading state. Defaults to "loading".
*/
loadingAriaLabel?: string | undefined;
/**
* Optional boolean for full width button
* @example
*/
fullWidth?: boolean | undefined;
/**
* Additional class names
*/
className?: string | undefined;
/**
* Specifies where to display the linked URL.
*/
target?: TargetType | undefined;
/**
* Accessible information that indicates opening in new tab.
*/
newTabLabel?: string | undefined;
/**
* Accessible name for Button.
*/
'aria-label'?: string | undefined;
/**
* The default behavior of the button.
*/
type?: ButtonTypeType | undefined;
/**
* Callback, called by clicking on Button
*/
onClick?: ((arg0: React.MouseEvent) => unknown) | undefined;
} & Omit, "children" | "className" | "aria-label" | "toggle" | "disabled" | "href" | "size" | "target" | "type" | "onClick" | "fullWidth" | "newTabLabel" | "loading" | "variant" | "icon" | "iconOnly" | "reversedOrder" | "loadingAriaLive" | "loadingAriaLabel"> & React.RefAttributes>;
export declare const ButtonLite: ({ className, variant, children, size, loading, loadingAriaLabel, loadingAriaLive, disabled, icon, reversedOrder, href, target, newTabLabel, type, onClick, "aria-label": ariaLabel, ...rest }: ButtonLitePropsType) => React.JSX.Element;
export declare type ButtonLitePropsType = {
/**
* Children to be rendered inside Button
* @example }
* variant="solid"
* >
* button
*
*/
children?: React.ReactNode;
/**
* Specify variant of the button that you want to use
* @example
* button
*
*
*/
variant?: ButtonLiteVariantType;
/**
* Specify href for button, optional string
* @example
*/
href?: string;
/**
* Specifies where to display the linked URL.
*/
target?: TargetType_2;
/**
* Accessible information that indicates opening in new tab.
*/
newTabLabel?: string;
/**
* Accessible name for Button.
*/
'aria-label'?: string;
onClick?: (arg0: React.MouseEvent) => unknown;
/**
* The default behavior of the button.
*/
type?: ButtonLiteTypeType;
/**
* There are two sizes options for buttons, not need to be specify, default is s
* @example
* button
*
*/
size?: ButtonLiteSizeType;
/**
* Show loading state. By default loading state make button disabled while
* showing spinner inside and keep button's width unchanged.
*/
loading?: boolean;
/**
* `aria-live` for loading state. Defaults to "off".
*/
loadingAriaLive?: AriaLiveType_2;
/**
* Accessible information about loading state. Defaults to "loading".
*/
loadingAriaLabel?: string;
/**
* Optional boolean for disabled button
* @example
*/
disabled?: boolean;
/**
* You can render icon inside each variant of button on the left side
* @example }
* variant="facebook"
* >
* Login with Facebook
*
*/
icon?: React.ReactNode;
/**
* Reverses order of icon and text. Effective only when icon is set.
*/
reversedOrder?: boolean;
className?: string;
} & Omit, 'variant' | 'icon' | 'reversedOrder' | 'children' | 'size' | 'href' | 'disabled' | 'loading' | 'loadingAriaLive' | 'loadingAriaLabel' | 'fullWidth' | 'className' | 'target' | 'newTabLabel' | 'aria-label' | 'type' | 'onClick'>;
declare type ButtonLiteSizeType = 'xs' | 's';
declare type ButtonLiteTypeType = 'button' | 'submit' | 'reset';
declare type ButtonLiteVariantType = 'transparent' | 'transparent-inverted' | 'transparent-light' | 'transparent-indigo' | 'solid-light' | 'solid-indigo-light';
export declare type ButtonPropsType = {
/**
* Specify type of the button that you want to use
* @example
* @see variant="solid" https://styleguide.brainly.com/latest/docs/interactive.html?variant="solid"#buttons
* @see variant="solid-inverted" https://styleguide.brainly.com/latest/docs/interactive.html?variant="solid-inverted"#buttons
* @see variant="solid-indigo" https://styleguide.brainly.com/latest/docs/interactive.html?variant="solid-indigo"#buttons
* @see variant="solid-indigo-inverted" https://styleguide.brainly.com/latest/docs/interactive.html?variant="solid-indigo-inverted"#buttons
* @see variant="solid-light" https://styleguide.brainly.com/latest/docs/interactive.html?variant="solid-light"#buttons
* @see variant="outline" https://styleguide.brainly.com/latest/docs/interactive.html?variant="outline"#buttons
* @see variant="outline-indigo" https://styleguide.brainly.com/latest/docs/interactive.html?variant="outline-indigo"#buttons
* @see variant="outline-inverted" https://styleguide.brainly.com/latest/docs/interactive.html?variant="outline-indigo-inverted"#buttons
* @see variant="transparent" https://styleguide.brainly.com/latest/docs/interactive.html?variant="transparent"#buttons
* @see variant="transparent-light" https://styleguide.brainly.com/latest/docs/interactive.html?variant="transparent-light"#buttons
* @see variant="transparent-red" https://styleguide.brainly.com/latest/docs/interactive.html?variant="transparent-red"#buttons
* @see variant="transparent-inverted" https://styleguide.brainly.com/latest/docs/interactive.html?variant="transparent-inverted"#buttons
* @see variant="facebook" https://styleguide.brainly.com/latest/docs/interactive.html?variant="facebook"#buttons
* @see variant="google" https://styleguide.brainly.com/latest/docs/interactive.html?variant="google"#buttons
* @see variant="apple" https://styleguide.brainly.com/latest/docs/interactive.html?variant="apple"#buttons
*
*/
variant?: ButtonVariantType;
/**
* Set toggle state of the button.
* Caution: Toggle property work with for specific button variants:
* `solid-light`,`outline`, `outline-indigo`, `outline-inverted`,
* `transparent`, `transparent-light`, `transparent-red`, `transparent-inverted`
*/
toggle?: ButtonToggleType;
/**
* You can render icon inside each variant of button on the left side
* @example }
* variant="facebook"
* >
* Login with Facebook
*
*/
icon?: React.ReactNode;
/** Optional and available when icon is set. it hides button's text
* @example }
* iconOnly
* variant="facebook"
* >
* Login with Facebook
*
* */
iconOnly?: boolean;
/**
* Reverses order of icon and text. Effective only when icon is set.
*/
reversedOrder?: boolean;
/**
* Children to be rendered inside Button
* @example }
* variant="solid"
* >
* button
*
*/
children?: React.ReactNode;
/**
* There are three sizes options for buttons, not need to be specify, default is m
* @example
* @see size="s" https://styleguide.brainly.com/latest/docs/interactive.html?size="s"#buttons
* @see size="m" https://styleguide.brainly.com/latest/docs/interactive.html?size="m"#buttons
* @see size="l" https://styleguide.brainly.com/latest/docs/interactive.html?size="l"#buttons
*/
size?: ButtonSizeType;
/**
* Specify href for button, optional string
* @example
*/
href?: string;
/**
* Optional boolean for disabled button
* @example
*/
disabled?: boolean;
/**
* Show loading state. By default loading state make button disabled while
* showing spinner inside and keep button's width unchanged.
*/
loading?: boolean;
/**
* `aria-live` for loading state. Defaults to "off".
*/
loadingAriaLive?: AriaLiveType;
/**
* Accessible information about loading state. Defaults to "loading".
*/
loadingAriaLabel?: string;
/**
* Optional boolean for full width button
* @example
*/
fullWidth?: boolean;
/**
* Additional class names
*/
className?: string;
/**
* Specifies where to display the linked URL.
*/
target?: TargetType;
/**
* Accessible information that indicates opening in new tab.
*/
newTabLabel?: string;
/**
* Accessible name for Button.
*/
'aria-label'?: string;
/**
* The default behavior of the button.
*/
type?: ButtonTypeType;
/**
* Callback, called by clicking on Button
*/
onClick?: (arg0: React.MouseEvent) => unknown;
} & Omit, 'variant' | 'toggle' | 'icon' | 'iconOnly' | 'reversedOrder' | 'children' | 'size' | 'href' | 'disabled' | 'loading' | 'loadingAriaLive' | 'loadingAriaLabel' | 'fullWidth' | 'className' | 'target' | 'newTabLabel' | 'aria-label' | 'type' | 'onClick'>;
export declare const ButtonRound: ({ label, children, href, className, ...props }: ButtonRoundPropsType) => React.JSX.Element;
export declare type ButtonRoundPropsType = {
children?: React.ReactNode | null | undefined;
className?: string | null | undefined;
wide?: boolean | null | undefined;
disabled?: boolean | null | undefined;
small?: boolean | null | undefined;
href?: string;
label?: string | null | undefined;
} & Omit, 'children' | 'className' | 'wide' | 'disabled' | 'small' | 'href' | 'label'>;
declare type ButtonSizeType = 'l' | 'm' | 's';
declare type ButtonToggleType = 'red' | 'yellow';
declare type ButtonTypeType = 'button' | 'submit' | 'reset';
declare type ButtonVariantType = 'solid' | 'solid-inverted' | 'solid-indigo' | 'solid-indigo-inverted' | 'solid-light' | 'outline' | 'outline-indigo' | 'outline-inverted' | 'transparent' | 'transparent-light' | 'transparent-red' | 'transparent-inverted' | 'facebook' | 'google' | 'apple';
export declare const Card: ({ children, full, vertical, centered, padding, shadow, noBorder, transparent, className, ...props }: CardPropsType) => React.JSX.Element;
export declare const CardButton: React.ForwardRefExoticComponent & React.RefAttributes> & {
Indicator: {
({ slot, size, style, className, }: CardButtonIndicatorPropsType): React.JSX.Element;
displayName: string;
};
};
declare interface CardButtonIndicatorPropsType {
slot?: 'top-left' | 'center-left' | 'bottom-left' | 'top-right' | 'center-right' | 'bottom-right';
style?: React.CSSProperties;
className?: string;
size?: 16 | 24;
}
export declare interface CardButtonPropsType extends React.ComponentPropsWithRef<'button'> {
/**
* Optional string. Variant of the card. Default is 'outline'.
*/
variant?: 'solid' | 'outline';
color?: 'light' | 'dark';
/**
* Optional React.ReactNode. Children of the CardButton.
* @example Card content
*/
children?: React.ReactNode;
/**
* Optional. Width of the card.
* @example
*/
width?: React.CSSProperties['width'];
/**
* Optional. Height of the card.
* @example
*/
height?: React.CSSProperties['height'];
/**
* Optional object. Inline styles.
* @example
*/
style?: React.CSSProperties;
/**
* Optional string. ID of the CardButton.
*/
id?: string;
}
export declare const CardCheckbox: React.ForwardRefExoticComponent> & {
Indicator: {
({ slot, style, className, }: CardCheckboxIndicatorPropsType): React.JSX.Element;
displayName: string;
};
};
declare interface CardCheckboxIndicatorPropsType {
slot?: 'top-left' | 'center-left' | 'bottom-left' | 'top-right' | 'center-right' | 'bottom-right';
style?: React.CSSProperties;
className?: string;
}
export declare interface CardCheckboxPropsType extends Omit, 'onChange'> {
/**
* Optional string. Variant of the card. Default is 'outline'.
*/
variant?: 'solid' | 'outline';
color?: 'light' | 'dark';
/**
* Optional string. Additional class names.
*/
className?: string;
/**
* Optional React.ReactNode. Children of the card. This is the place where label should be used and connected to the card.
* @example Card content
*/
children?: React.ReactNode;
/**
* Optional string. Width of the card.
* @example
**/
width?: React.CSSProperties['width'];
/**
* Optional string. Height of the card.
* @example
*/
height?: React.CSSProperties['height'];
/**
* Optional object. Inline styles.
* @example
*/
style?: React.CSSProperties;
/**
* Optional boolean. Whether the checkbox is checked.
*/
checked?: boolean;
/**
* Optional boolean. Whether the checkbox is checked by default. Only works when `checked` is not defined.
*/
defaultChecked?: boolean;
/**
* Optional boolean. Whether the checkbox is disabled.
*/
disabled?: boolean;
/**
* Optional string. ID of the checkbox.
*/
id?: string;
/**
* Sets whether the checkbox is displayed as indeterminate. Note: this prop doesn't modify the `checked` property.
* @example
* @default false
*/
indeterminate?: boolean;
/**
* Optional boolean. Whether the checkbox is invalid.
* @default
*/
invalid?: boolean;
/**
* Optional boolean. Whether the checkbox is required.
* @default
*/
required?: boolean;
/**
* Value of the Card.Checkbox input.
* @example
*/
value?: string;
/**
* Name of the Card.Checkbox input.
* @example
*/
name?: string;
/**
* Function called whenever the state of the checkbox changes.
*/
onChange?: (e: React.ChangeEvent) => void;
/**
* Optional string. ID of the element that labels the Radio.
* @example
**/
'aria-labelledby'?: string;
/**
* Optional string. ID of the element that describes the Radio.
* @example
**/
'aria-describedby'?: string;
}
export declare const CardHole: ({ color, children, className, ...props }: CardHolePropsType) => React.JSX.Element;
export declare type CardHolePropsType = {
children: React.ReactNode;
className?: string;
color?: ColorType_2;
} & Omit, 'children' | 'className' | 'color'>;
declare type CardPaddingType = 'padding-small' | 'padding-normal' | 'padding-large' | 'padding-xlarge';
export declare type CardPropsType = {
children?: React.ReactNode;
className?: string;
full?: boolean;
vertical?: boolean;
centered?: boolean;
noBorder?: boolean;
shadow?: boolean;
transparent?: boolean;
padding?: CardPaddingType;
} & Omit, 'children' | 'className' | 'full' | 'vertical' | 'centered' | 'noBorder' | 'shadow' | 'transparent' | 'padding'>;
export declare const CardRadioGroup: React.ForwardRefExoticComponent> & {
Item: React.ForwardRefExoticComponent>;
Indicator: typeof CardRadioIndicator;
};
export declare interface CardRadioGroupPropsType {
/**
* The name of the radio group and the form data when submitting the form.
*/
name?: string;
/**
* Optional boolean. Whether the CardRadioGroup is required.
* @default false
*/
required?: boolean;
/**
* Optional boolean. Whether the CardRadioGroup is disabled.
* @default false
*/
disabled?: boolean;
/**
* Optional boolean. Whether the CardRadioGroup is invalid.
* @default false
**/
invalid?: boolean;
/**
* Optional string. The direction of the CardRadioGroup.
* @default 'row'
**/
direction?: FlexPropsType['direction'];
/**
* CardRadioGroup inner elements
* @example
*
* 1
* 2
*
*
**/
children: React.ReactNode;
/**
* Optional string. The className of the CardRadioGroup.
* @default undefined
**/
className?: string;
'aria-labelledby'?: string;
'aria-describedby'?: string;
'aria-label'?: string;
/**
* Optional string. The default value of the CardRadioGroup.
* @default ''
**/
defaultValue?: string;
/**
* Optional string. Currently selected value of the CardRadioGroup.Item.
**/
value?: string;
/**
* Optional function. The callback function that is triggered when the value of the CardRadioGroup changes.
**/
onChange?: (value: string) => void;
}
declare function CardRadioIndicator({ slot, style, className, }: CardRadioIndicatorPropsType): React.JSX.Element;
declare namespace CardRadioIndicator {
var displayName: string;
}
declare interface CardRadioIndicatorPropsType {
slot?: 'top-left' | 'center-left' | 'bottom-left' | 'top-right' | 'center-right' | 'bottom-right';
style?: React.CSSProperties;
className?: string;
}
declare interface CardRadioPropsType extends Omit, 'onChange'> {
/**
* Required string. Value of the CardRadio input.
*/
value: string;
/**
* Optional boolean. Whether the Radio is required.
* @default false
*/
required?: boolean;
/**
* Optional boolean. Whether the Radio is disabled.
* @default false
*/
disabled?: boolean;
/**
* Optional boolean. Whether the Radio is invalid.
* @default false
*/
invalid?: boolean;
/**
* Optional string. ID of the Radio.
*/
id?: string;
/**
* Optional string. Variant of the card. Default is 'outline'.
*/
variant?: 'solid' | 'outline';
/**
* Optional string. Color of the card. Default is 'dark'.
*/
color?: 'light' | 'dark';
/**
* Optional string. Additional class names.
*/
className?: string;
/**
* Optional React.ReactNode. Children of the card. This is the place where label should be used and connected to the card.
* @example Card content
*/
children?: React.ReactNode;
/**
* Optional string. Width of the card.
* @example
*/
width?: React.CSSProperties['width'];
/**
* Optional string. Height of the card.
* @example
*/
height?: React.CSSProperties['height'];
/**
* Optional object. Inline styles.
* @example
*/
style?: StyleType_3;
/**
* Function called whenever the state of the Radio changes.
*/
onChange?: (e: React.ChangeEvent) => void;
/**
* Optional string. ID of the element that labels the Radio.
* @example
**/
'aria-labelledby'?: string;
/**
* Optional string. ID of the element that describes the Radio.
* @example
**/
'aria-describedby'?: string;
}
export declare const Checkbox: ({ checked, children, className, color, defaultChecked, description, disabled, errorMessage, id, indeterminate, invalid, labelSize, required, name, onChange, style, value, "aria-labelledby": ariaLabelledBy, ...props }: CheckboxPropsType) => React.JSX.Element;
declare type CheckboxColorType = 'dark' | 'light';
declare type CheckboxLabelSizeType = 'medium' | 'small';
export declare type CheckboxPropsType = {
/**
* Sets whether the checkbox is checked or unchecked.
* @example
*/
checked?: boolean;
/**
* To be displayed to the right of the checkbox as a label. The label is clickable checkbox element.
* @example Label
*/
children?: React.ReactNode;
/**
* Optional string. Additional classnames.
*/
className?: string;
/**
* Specify color variant of the checkbox that you want to use.
* @example
*/
color?: CheckboxColorType;
/**
* Sets whether the checkbox is initially checked.
* @example
* @default false
*/
defaultChecked?: boolean;
/**
* To be displayed below checkbox and its label. The description is not clickable. You can either pass text or your own component with custom styling.
* @example
*/
description?: React.ReactNode | string;
/**
* Sets whether the checkbox is disabled.
* @example
* @default false
*/
disabled?: boolean;
/**
* To be displayed below checkbox and its label. The error message is not clickable. Note: you have to set `invalid` prop as well, to render the error message.
* @example Label
*/
errorMessage?: string;
/**
* ID assigned to the checkbox input. If not provided, random id will be generated.
* @example
*/
id?: string;
/**
* Sets whether the checkbox is displayed as indeterminate. Note: this prop doesn't modify the `checked` property.
* @example
* @default false
*/
indeterminate?: boolean;
/**
* Sets whether the checkbox marked as invalid.
* @example
* @default false
*/
invalid?: boolean;
/**
* Sets label size.
* @example
* @default false
*/
labelSize?: CheckboxLabelSizeType;
/**
* The name of the checkbox input.
* @example
*/
name?: string;
/**
* Function called with an object containing the react synthetic event, whenever the state of the checkbox changes.
*/
onChange?: (arg0: React.SyntheticEvent) => void;
/**
* Style applied to the container.
* @example
*/
style?: StyleType;
/**
* Sets whether the checkbox input is marked as required. This doesn't affect checkbox style.
* @example
* @default false
*/
required?: boolean;
/**
* Value of the checkbox input.
* @example
*/
value?: string;
/**
* ID of a custom label, that describes the checkbox input.
* @example
*/
'aria-labelledby'?: string;
} & Omit, 'checked' | 'children' | 'className' | 'color' | 'defaultChecked' | 'description' | 'disabled' | 'errorMessage' | 'id' | 'indeterminate' | 'invalid' | 'labelSize' | 'name' | 'onChange' | 'style' | 'required' | 'value' | 'undefined'>;
export declare const Chip: {
({ children, className, value, style, name, disabled, size, multiSelect, checked, required, icon, onChange, "aria-describedby": ariaDescribedBy, ...props }: ChipPropsType): React.JSX.Element;
Group: ({ className, children, disabled, name, required, value, onChange, multiSelect, wrap, ...props }: ChipGroupPropsType) => React.JSX.Element;
};
declare type ChipContextType = {
disabled?: boolean;
required?: boolean;
multiSelect?: boolean;
name: string;
groupValue: string | null | undefined | Array;
onChipChange: (event: React.SyntheticEvent, chipValue: string | null | undefined) => void;
};
export declare const ChipGroup: ({ className, children, disabled, name, required, value, onChange, multiSelect, wrap, ...props }: ChipGroupPropsType) => React.JSX.Element;
export declare type ChipGroupPropsType = {
/**
* Chip group inner elements
* @example Label
*/
children?: React.ReactNode;
/**
* Optional string. Additional classnames.
*/
className?: string | null | undefined;
/**
* Specify items display direction.
* @example
* @default "row"
*/
direction?: DirectionType_4;
/**
* Sets whether the group is disabled.
* @example
*/
disabled?: boolean;
/**
* Sets whether the group is required.
* @example
*/
required?: boolean;
/**
* The name of Chip inputs.
* @example
*/
name?: string;
/**
* Function called with an object containing the react synthetic event, whenever selected radio input changes.
*/
onChange?: (event: React.SyntheticEvent, value: string | null | undefined) => void;
/**
* Sets whether the Chip is multi select or single select.
* @example
*/
multiSelect?: boolean;
/**
* Currently selected radio input.
* @example Label
*/
value?: string | null | undefined | Array;
/**
* It will wrap component
* @example
* component content
*
*/
wrap?: ResponsivePropType;
} & Omit, 'children' | 'className' | 'direction' | 'disabled' | 'name' | 'onChange' | 'value' | 'multiSelect' | 'as' | 'wrap'>;
export declare type ChipPropsType = {
children: React.ReactNode;
/**
* Sets whether the chip is checked or unchecked.
* @example
*/
checked?: boolean;
/**
* Sets whether the Chip is multi select or single select.
* @example
*/
multiSelect?: boolean;
/**
* Optional string. Additional classnames.
*/
className?: string | null | undefined;
/**
* Sets whether the Chip is disabled.
* @example
*/
disabled?: boolean;
/**
* Sets whether the Chip is required.
* @example
*/
required?: boolean;
/**
* Sets size.
* @example
* @default m
*/
size?: ChipSizeType;
/**
* The name of the chip group.
* @example
*/
name?: string;
/**
* Style applied to the container.
* @example
*/
style?: StyleType_4;
/**
* Value of the input.
* @example
*/
value: string;
/**
* You can render icon inside the chip on the left side
* @example }
* >
* Math
*
*/
icon?: React.ReactNode;
/**
* Function called with an object containing the react synthetic event, whenever the state of the chip changes.
*/
onChange?: (arg0: React.SyntheticEvent) => void;
'aria-describedby'?: string;
} & Omit, 'checked' | 'children' | 'size' | 'name' | 'onChange' | 'style' | 'value' | 'icon'>;
declare type ChipSizeType = 'm' | 's';
declare const COLOR: {
readonly BLUE: "blue";
readonly BLACK: "black";
};
declare type ColorType = 'transparent' | 'white' | 'gray-40' | 'gray-20' | 'gray-10' | 'blue-40' | 'blue-30' | 'blue-20' | 'green-40' | 'green-30' | 'green-20' | 'green-10' | 'indigo-40' | 'indigo-20' | 'indigo-10' | 'red-40' | 'red-30' | 'red-20' | 'yellow-40' | 'yellow-20';
declare type ColorType_2 = 'gray-70' | 'gray-50' | 'gray-40' | 'gray-20' | 'gray-10' | 'blue-40' | 'blue-30' | 'blue-20' | 'green-40' | 'green-30' | 'green-20' | 'indigo-40' | 'indigo-30' | 'indigo-20' | 'yellow-40' | 'yellow-30' | 'yellow-20';
declare type ColorType_3 = 'white' | 'transparent' | 'blue-20' | 'gray-20';
declare type ColorType_4 = typeof COLOR[keyof typeof COLOR];
declare type ColorType_5 = 'dark' | 'light';
export declare const ContentBox: ({ children, spacedTop, spacedBottom, spaced, spacedSmall, full, className, ...props }: ContentBoxPropsType) => React.JSX.Element;
export declare const ContentBoxActions: ({ children, spacedTop, spacedBottom, className, align, ...props }: ContentBoxActionsPropsType) => React.JSX.Element;
export declare type ContentBoxActionsPropsType = {
children: React.ReactNode;
className?: string | null | undefined;
spacedTop?: SizeType_2 | null | undefined;
spacedBottom?: SizeType_2 | null | undefined;
align?: AligmentType_3;
} & Omit, 'children' | 'className' | 'spacedTop' | 'spacedBottom' | 'align'>;
export declare const ContentBoxContent: ({ children, full, spacedTop, spacedBottom, className, align, ...props }: ContentBoxContentPropsType) => React.JSX.Element;
export declare type ContentBoxContentPropsType = {
children: React.ReactNode;
full?: boolean | null | undefined;
className?: string | null | undefined;
spacedTop?: SizeType_3 | null | undefined;
spacedBottom?: SizeType_3 | null | undefined;
align?: AligmentType_4;
} & Omit, 'children' | 'full' | 'className' | 'spacedTop' | 'spacedBottom' | 'align'>;
export declare const ContentBoxHeader: ({ children, spaced, spacedSmall, spacedTop, spacedBottom, className, align, ...props }: ContentBoxHeaderPropsType) => React.JSX.Element;
export declare type ContentBoxHeaderPropsType = {
children: React.ReactNode;
spaced?: boolean | null | undefined;
spacedSmall?: boolean | null | undefined;
full?: boolean | null | undefined;
className?: string | null | undefined;
spacedTop?: SizeType_4 | null | undefined;
spacedBottom?: SizeType_4 | null | undefined;
align?: AligmentType_5;
} & Omit, 'children' | 'spaced' | 'spacedSmall' | 'full' | 'className' | 'spacedTop' | 'spacedBottom' | 'align'>;
export declare type ContentBoxPropsType = {
children: React.ReactNode;
spaced?: boolean | null | undefined;
spacedSmall?: boolean | null | undefined;
full?: boolean | null | undefined;
className?: string | null | undefined;
spacedTop?: SizeType | null | undefined;
spacedBottom?: SizeType | null | undefined;
} & Omit, 'children' | 'spaced' | 'spacedSmall' | 'full' | 'className' | 'spacedTop' | 'spacedBottom'>;
export declare const ContentBoxTitle: ({ children, spaced, spacedSmall, spacedTop, spacedBottom, className, align, }: ContentBoxTitlePropsType) => React.JSX.Element;
export declare type ContentBoxTitlePropsType = {
children: React.ReactNode;
spaced?: boolean | null | undefined;
spacedSmall?: boolean | null | undefined;
className?: string | null | undefined;
spacedTop?: SizeType_5 | null | undefined;
spacedBottom?: SizeType_5 | null | undefined;
align?: AligmentType_6;
} & Omit, 'children' | 'spaced' | 'spacedSmall' | 'className' | 'spacedTop' | 'spacedBottom' | 'align'>;
export declare const Counter: ({ icon, children, className, size, color, variant, withAnimation, "aria-label": ariaLabel, ...props }: CounterPropsType) => React.JSX.Element;
declare type CounterColorType = 'blue' | 'green' | 'indigo' | 'red' | 'yellow' | 'gray' | 'achromatic';
export declare type CounterPropsType = {
/**
* Children to be rendered inside Counter
* @example
* text
*
*/
children: React.ReactNode;
/**
* You can render icon inside of counter
* @example
* 1
*
*/
icon?: IconType | null | undefined;
/**
* There are two sizes options for counters, not need to be specify, default is xs
* @example
* 1pts
*
*/
size?: CounterSizeType | null | undefined;
/**
* Counter background color
* @example 1
*/
color?: CounterColorType | null | undefined;
/**
* Specify variant of counter
* @example 1
*/
variant?: CounterVariantType;
/**
* Optional boolean for counter with animation
* @example
* 12
*
*/
withAnimation?: boolean;
/**
* Additional class names
*/
className?: string;
/**
* Label describing counter
*/
'aria-label'?: string;
} & Omit, 'children' | 'icon' | 'size' | 'color' | 'variant' | 'withAnimation' | 'className' | 'undefined'>;
declare type CounterSizeType = 'xs' | 'xxs';
declare type CounterVariantType = 'solid' | 'light';
declare function createEffect({ type, ...customEffectProps }: Readonly): TransitionEffectType;
export declare const Dialog: {
({ open, onExitTransitionEnd, ...otherProps }: DialogPropsType): React.JSX.Element | null;
Overlay: ({ children }: DialogOverlayPropsType) => React.JSX.Element;
};
export declare const DialogBody: ({ children, className }: DialogBodyPropsType) => React.JSX.Element;
export declare type DialogBodyPropsType = Readonly<{
children: React.ReactNode;
className?: string;
}>;
export declare const DialogCloseButton: ({ onClick, className, label, "data-testid": dataTestId, disabled, }: DialogCloseButtonPropsType) => React.JSX.Element;
export declare type DialogCloseButtonPropsType = Readonly<{
onClick?: () => void;
className?: string;
label?: string;
'data-testid'?: string;
disabled?: boolean;
}>;
export declare const DialogHeader: ({ children, className, id }: DialogHeaderPropsType) => React.JSX.Element;
export declare type DialogHeaderPropsType = Readonly<{
children: React.ReactNode;
className?: string;
id?: string;
}>;
export declare type DialogOverlayPropsType = {
children: React.ReactNode;
slot: SlotType;
};
export declare type DialogPropsType = Readonly<{
open: boolean;
children: React.ReactNode;
size?: 's' | 'm' | 'l' | 'xl' | 'fullscreen';
motionPreset?: 'none' | 'default';
'aria-labelledby'?: string;
'aria-label'?: string;
'aria-describedby'?: string;
'aria-description'?: string;
/**
* https://github.com/w3c/aria-practices/issues/1241
* Fix for Safari, when multiple nodes with aria-modal="true" exists.
* Use this to set aria-modal to "false" when you open another (no need when nesting) dialog.
* This will prevent loosing focus on last opened dialog.
*/
'aria-modal'?: boolean;
/**
* Specify the dialog scrolling behavior when
* the content is longer than the viewport.
*/
scroll?: 'inside' | 'outside';
zIndex?: number | string;
/**
* Fires on user actions like clicking outside
* the Dialog or the Escape key.
*/
onDismiss?: () => void;
onEntryTransitionEnd?: () => void;
onExitTransitionEnd?: () => void;
'data-testid'?: string;
position?: 'center' | 'top';
overlay?: 'light' | 'dark';
appearance?: 'none' | 'dialog';
}>;
declare type DirectionType = 'to-right' | 'centered' | 'space-between' | 'space-around' | 'space-evenly';
declare type DirectionType_2 = 'left' | 'right' | 'top' | 'bottom';
declare type DirectionType_3 = 'row' | 'column';
declare type DirectionType_4 = 'row' | 'column';
export declare const Dropdown: ({ name, links, initiallyOpened, color, fullWidth, onItemSelect, }: DropdownPropsType) => React.JSX.Element;
export declare type DropdownPropsType = Readonly<{
name: string;
links: Array;
initiallyOpened?: boolean;
color?: 'default' | 'white';
fullWidth?: boolean;
onItemSelect?: (e: React.SyntheticEvent, link: LinksType) => void;
}>;
declare type ElementType = 'a' | 'button';
export declare const FileHandler: ({ children, color, iconType, thumbnailSrc, src, loading, onClose, onClick, textRef, className, ariaCloseButtonLabel, statusLabel, ...props }: FileHandlerPropsType) => React.JSX.Element;
declare type FileHandlerColorType = 'gray-20' | 'white';
export declare type FileHandlerPropsType = Readonly<{
/**
* Specify color of the background for FileHandler
* @example
* text
*
* @default 'gray-20'
*/
color?: FileHandlerColorType;
/**
* Specify iconType to display SG icon as the image inside FileHandler
* @example
* text
*
* @default attachment
*/
iconType?: IconType;
/**
* Specify thumbnailSrc of the image inside FileHandler
* @example
* text
*
*/
thumbnailSrc?: string;
/**
* Specify src of the file to display it in the new tab when link is clicked
* @example
* text
*
*/
src?: string;
/**
* Optional boolean for loading state of FileHandler
* @example
* text
*
* @default false
*/
loading?: boolean;
/**
* Callback, called by clicking on **close** button. If specified, button will be added automatically
* @example doSomething()}>
* text
*
*/
onClose?: (arg0: React.MouseEvent) => void;
/**
* Callback, called by clicking on link
* @example doSomething()}
* >
* text
*
*/
onClick?: (arg0: React.MouseEvent) => unknown;
/**
* Additional function to set ref for text
*/
textRef?: {
current: HTMLSpanElement | null;
};
/**
* Additional class names
*/
className?: string;
/**
* Children to be rendered inside FileHandler
* @example
* text
*
*/
children?: React.ReactNode;
/**
* An accessible, short-text description of `onClose` action,
* defaults to 'Close'
*/
ariaCloseButtonLabel?: string;
/**
* An accessible, short-text description for loading
* and uploded status.
*/
statusLabel?: AriaStatusLabelType;
} & Omit, 'color' | 'iconType' | 'thumbnailSrc' | 'src' | 'loading' | 'onClose' | 'onClick' | 'textRef' | 'className' | 'children' | 'ariaCloseButtonLabel' | 'statusLabel'>>;
export declare const FlashMessage: ({ text, type, className, ...props }: FlashMessagePropsType) => React.JSX.Element;
export declare type FlashMessagePropsType = {
text: string;
type?: FlashMessageTypeType;
className?: string;
} & Omit, 'text' | 'type' | 'className'>;
declare type FlashMessageTypeType = 'default' | 'success' | 'error' | 'info';
export declare const Flex: React.ForwardRefExoticComponent<{
/**
* Children to be render inside of the Flex.
* @example
* children to be render here
*
*
*/
children: React.ReactNode;
/**
* Html tag used as container
*/
as?: FlexContainerType | undefined;
/**
* Additional class names
*/
className?: string | undefined;
/**
* component will be rendered on 100% width of a parent
* @example
* component content
*
*/
fullWidth?: ResponsivePropType | undefined;
/**
* component will be rendered on 100% height of a parent
* @example
* component content
*
*/
fullHeight?: ResponsivePropType | undefined;
/**
* It will set flex-shirnk to 0
* @example
* component content
*
*/
noShrink?: ResponsivePropType | undefined;
/**
* Specify flex direction
* @example
* component content
*
* @see direction=column https://styleguide.brainly.com/latest/docs/interactive.html?direction=column#flexbox
* @see direction=column-reverse https://styleguide.brainly.com/latest/docs/interactive.html?direction=column-reverse#flexbox
* @see direction=row https://styleguide.brainly.com/latest/docs/interactive.html?direction=row#flexbox
* @see direction=row-reverse https://styleguide.brainly.com/latest/docs/interactive.html?direction=row-reverse#flexbox
*/
direction?: ResponsivePropType | undefined;
/**
* Specify flex justify content
* @example
* component content
*
* @see justifyContent=center https://styleguide.brainly.com/latest/docs/interactive.html?justifyContent=center#flexbox
* @see justifyContent=flex-start https://styleguide.brainly.com/latest/docs/interactive.html?ustifyContent=flex-start#flexbox
* @see justifyContent=flex-end https://styleguide.brainly.com/latest/docs/interactive.html?justifyContent=flex-end#flexbox
* @see justifyContent=space-between https://styleguide.brainly.com/latest/docs/interactive.html?justifyContent=space-between#flexbox
* @see justifyContent=space-around https://styleguide.brainly.com/latest/docs/interactive.html?justifyContent=space-around#flexbox
* @see justifyContent=space-evenly https://styleguide.brainly.com/latest/docs/interactive.html?justifyContent=space-evenly#flexbox
* @see justifyContent=stretch https://styleguide.brainly.com/latest/docs/interactive.html?justifyContent=stretch#flexbox
*/
justifyContent?: ResponsivePropType | undefined;
/**
* Specify flex align content
* @example
* component content
*
* @see alignContent=center https://styleguide.brainly.com/latest/docs/interactive.html?alignContent=center#flexbox
* @see alignContent=flex-start https://styleguide.brainly.com/latest/docs/interactive.html?alignContent=flex-start#flexbox
* @see alignContent=flex-end https://styleguide.brainly.com/latest/docs/interactive.html?alignContent=flex-end#flexbox
* @see alignContent=baseline https://styleguide.brainly.com/latest/docs/interactive.html?alignContent=baseline#flexbox
* @see alignContent=stretch https://styleguide.brainly.com/latest/docs/interactive.html?alignContent=stretch#flexbox
*/
alignContent?: ResponsivePropType | undefined;
/**
* Specify flex align items
* @example
* component content
*
* @see alignItems=center https://styleguide.brainly.com/latest/docs/interactive.html?alignItems=center#flexbox
* @see alignItems=flex-start https://styleguide.brainly.com/latest/docs/interactive.html?alignItems=flex-start#flexbox
* @see alignItems=flex-end https://styleguide.brainly.com/latest/docs/interactive.html?alignItems=flex-end#flexbox
* @see alignItems=baseline https://styleguide.brainly.com/latest/docs/interactive.html?alignItems=baseline#flexbox
* @see alignItems=stretch https://styleguide.brainly.com/latest/docs/interactive.html?alignContent=stretch#flexbox
*/
alignItems?: ResponsivePropType | undefined;
/**
* Specify flex align self
* @example
* component content
*
* @see alignSelf=center https://styleguide.brainly.com/latest/docs/interactive.html?alignSelf=center#flexbox
* @see alignSelf=flex-start https://styleguide.brainly.com/latest/docs/interactive.html?alignSelf=flex-start#flexbox
* @see alignSelf=flex-end https://styleguide.brainly.com/latest/docs/interactive.html?alignSelf=flex-end#flexbox
* @see alignSelf=baseline https://styleguide.brainly.com/latest/docs/interactive.html?alignSelf=baseline#flexbox
* @see alignSelf=stretch https://styleguide.brainly.com/latest/docs/interactive.html?alignSelf=stretch#flexbox
*/
alignSelf?: ResponsivePropType | undefined;
/**
* It will set flex display to inline-flex
* @example
* component content
*
*/
inlineFlex?: ResponsivePropType | undefined;
/**
* It will wrap component
* @example
* component content
*
*/
wrap?: ResponsivePropType | undefined;
/**
* It will wrap reverse component
* @example
* component content
*
*/
wrapReverse?: ResponsivePropType | undefined;
/**
* Specify margin for flex based on spacings: none: 0px, xxs: 4px, xs: 8px, s: 16px, m: 24px, l: 40px, xl: 64px, xxl: 104px, xxxl: 168px, xxxxl: 272px
* @example
* component content
*
*/
margin?: ResponsivePropType | undefined;
/**
* Specify margin top for flex based on spacings: none: 0px, xxs: 4px, xs: 8px, s: 16px, m: 24px, l: 40px, xl: 64px, xxl: 104px, xxxl: 168px, xxxxl: 272px
* @example
* component content
*
*/
marginTop?: ResponsivePropType | undefined;
/**
* Specify margin right for flex based on spacings: none: 0px, xxs: 4px, xs: 8px, s: 16px, m: 24px, l: 40px, xl: 64px, xxl: 104px, xxxl: 168px, xxxxl: 272px
* @example
* component content
*
*/
marginRight?: ResponsivePropType | undefined;
/**
* Specify margin bottom for flex based on spacings: none: 0px, xxs: 4px, xs: 8px, s: 16px, m: 24px, l: 40px, xl: 64px, xxl: 104px, xxxl: 168px, xxxxl: 272px
* @example
* component content
*
*/
marginBottom?: ResponsivePropType | undefined;
/**
* Specify margin left for flex based on spacings: none: 0px, xxs: 4px, xs: 8px, s: 16px, m: 24px, l: 40px, xl: 64px, xxl: 104px, xxxl: 168px, xxxxl: 272px
* @example
* component content
*
*/
marginLeft?: ResponsivePropType | undefined;
/**
* Specify gap between flex children: none: 0px, xxs: 4px, xs: 8px, s: 16px, m: 24px, l: 40px, xl: 64px, xxl: 104px, xxxl: 168px, xxxxl: 272px
* @example
* component content
*
*/
gap?: ResponsivePropType | undefined;
/**
* Specify flex value:
* @example
* component content
*
*/
flex?: ResponsivePropType | undefined;
} & Omit, "children" | "className" | "as" | "wrap" | "fullWidth" | "fullHeight" | "noShrink" | "direction" | "justifyContent" | "alignContent" | "alignItems" | "alignSelf" | "inlineFlex" | "wrapReverse" | "margin" | "marginTop" | "marginRight" | "marginBottom" | "marginLeft" | "gap" | "flex"> & React.RefAttributes>;
declare type FlexAlignmentValuesType = 'center' | 'flex-start' | 'flex-end' | 'baseline' | 'stretch';
declare type FlexContainerType = 'a' | 'article' | 'aside' | 'div' | 'footer' | 'form' | 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6' | 'header' | 'input' | 'li' | 'main' | 'nav' | 'ol' | 'p' | 'pre' | 'section' | 'span' | 'textarea' | 'ul';
declare type FlexDirectionType = 'column' | 'column-reverse' | 'row' | 'row-reverse';
declare type FlexFlexValueType = 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 'auto' | 'initial' | 'none';
declare type FlexGapValueType = 'none' | 'xxs' | 'xs' | 's' | 'm' | 'l' | 'xl' | 'xxl' | 'xxxl' | 'xxxxl';
declare type FlexJustifyValuesType = 'center' | 'flex-start' | 'flex-end' | 'space-between' | 'space-around' | 'space-evenly' | 'stretch';
declare type FlexMarginsType = 'none' | 'xxs' | 'xs' | 's' | 'm' | 'l' | 'xl' | 'xxl' | 'xxxl' | 'xxxxl';
export declare type FlexPropsType = {
/**
* Children to be render inside of the Flex.
* @example
* children to be render here
*
*
*/
children: React.ReactNode;
/**
* Html tag used as container
*/
as?: FlexContainerType;
/**
* Additional class names
*/
className?: string;
/**
* component will be rendered on 100% width of a parent
* @example
* component content
*
*/
fullWidth?: ResponsivePropType;
/**
* component will be rendered on 100% height of a parent
* @example
* component content
*
*/
fullHeight?: ResponsivePropType;
/**
* It will set flex-shirnk to 0
* @example
* component content
*
*/
noShrink?: ResponsivePropType;
/**
* Specify flex direction
* @example
* component content
*
* @see direction=column https://styleguide.brainly.com/latest/docs/interactive.html?direction=column#flexbox
* @see direction=column-reverse https://styleguide.brainly.com/latest/docs/interactive.html?direction=column-reverse#flexbox
* @see direction=row https://styleguide.brainly.com/latest/docs/interactive.html?direction=row#flexbox
* @see direction=row-reverse https://styleguide.brainly.com/latest/docs/interactive.html?direction=row-reverse#flexbox
*/
direction?: ResponsivePropType;
/**
* Specify flex justify content
* @example
* component content
*
* @see justifyContent=center https://styleguide.brainly.com/latest/docs/interactive.html?justifyContent=center#flexbox
* @see justifyContent=flex-start https://styleguide.brainly.com/latest/docs/interactive.html?ustifyContent=flex-start#flexbox
* @see justifyContent=flex-end https://styleguide.brainly.com/latest/docs/interactive.html?justifyContent=flex-end#flexbox
* @see justifyContent=space-between https://styleguide.brainly.com/latest/docs/interactive.html?justifyContent=space-between#flexbox
* @see justifyContent=space-around https://styleguide.brainly.com/latest/docs/interactive.html?justifyContent=space-around#flexbox
* @see justifyContent=space-evenly https://styleguide.brainly.com/latest/docs/interactive.html?justifyContent=space-evenly#flexbox
* @see justifyContent=stretch https://styleguide.brainly.com/latest/docs/interactive.html?justifyContent=stretch#flexbox
*/
justifyContent?: ResponsivePropType;
/**
* Specify flex align content
* @example
* component content
*
* @see alignContent=center https://styleguide.brainly.com/latest/docs/interactive.html?alignContent=center#flexbox
* @see alignContent=flex-start https://styleguide.brainly.com/latest/docs/interactive.html?alignContent=flex-start#flexbox
* @see alignContent=flex-end https://styleguide.brainly.com/latest/docs/interactive.html?alignContent=flex-end#flexbox
* @see alignContent=baseline https://styleguide.brainly.com/latest/docs/interactive.html?alignContent=baseline#flexbox
* @see alignContent=stretch https://styleguide.brainly.com/latest/docs/interactive.html?alignContent=stretch#flexbox
*/
alignContent?: ResponsivePropType;
/**
* Specify flex align items
* @example
* component content
*
* @see alignItems=center https://styleguide.brainly.com/latest/docs/interactive.html?alignItems=center#flexbox
* @see alignItems=flex-start https://styleguide.brainly.com/latest/docs/interactive.html?alignItems=flex-start#flexbox
* @see alignItems=flex-end https://styleguide.brainly.com/latest/docs/interactive.html?alignItems=flex-end#flexbox
* @see alignItems=baseline https://styleguide.brainly.com/latest/docs/interactive.html?alignItems=baseline#flexbox
* @see alignItems=stretch https://styleguide.brainly.com/latest/docs/interactive.html?alignContent=stretch#flexbox
*/
alignItems?: ResponsivePropType;
/**
* Specify flex align self
* @example
* component content
*
* @see alignSelf=center https://styleguide.brainly.com/latest/docs/interactive.html?alignSelf=center#flexbox
* @see alignSelf=flex-start https://styleguide.brainly.com/latest/docs/interactive.html?alignSelf=flex-start#flexbox
* @see alignSelf=flex-end https://styleguide.brainly.com/latest/docs/interactive.html?alignSelf=flex-end#flexbox
* @see alignSelf=baseline https://styleguide.brainly.com/latest/docs/interactive.html?alignSelf=baseline#flexbox
* @see alignSelf=stretch https://styleguide.brainly.com/latest/docs/interactive.html?alignSelf=stretch#flexbox
*/
alignSelf?: ResponsivePropType;
/**
* It will set flex display to inline-flex
* @example
* component content
*
*/
inlineFlex?: ResponsivePropType;
/**
* It will wrap component
* @example
* component content
*
*/
wrap?: ResponsivePropType;
/**
* It will wrap reverse component
* @example
* component content
*
*/
wrapReverse?: ResponsivePropType;
/**
* Specify margin for flex based on spacings: none: 0px, xxs: 4px, xs: 8px, s: 16px, m: 24px, l: 40px, xl: 64px, xxl: 104px, xxxl: 168px, xxxxl: 272px
* @example
* component content
*
*/
margin?: ResponsivePropType;
/**
* Specify margin top for flex based on spacings: none: 0px, xxs: 4px, xs: 8px, s: 16px, m: 24px, l: 40px, xl: 64px, xxl: 104px, xxxl: 168px, xxxxl: 272px
* @example
* component content
*
*/
marginTop?: ResponsivePropType;
/**
* Specify margin right for flex based on spacings: none: 0px, xxs: 4px, xs: 8px, s: 16px, m: 24px, l: 40px, xl: 64px, xxl: 104px, xxxl: 168px, xxxxl: 272px
* @example
* component content
*
*/
marginRight?: ResponsivePropType;
/**
* Specify margin bottom for flex based on spacings: none: 0px, xxs: 4px, xs: 8px, s: 16px, m: 24px, l: 40px, xl: 64px, xxl: 104px, xxxl: 168px, xxxxl: 272px
* @example
* component content
*
*/
marginBottom?: ResponsivePropType;
/**
* Specify margin left for flex based on spacings: none: 0px, xxs: 4px, xs: 8px, s: 16px, m: 24px, l: 40px, xl: 64px, xxl: 104px, xxxl: 168px, xxxxl: 272px
* @example
* component content
*
*/
marginLeft?: ResponsivePropType;
/**
* Specify gap between flex children: none: 0px, xxs: 4px, xs: 8px, s: 16px, m: 24px, l: 40px, xl: 64px, xxl: 104px, xxxl: 168px, xxxxl: 272px
* @example
* component content
*
*/
gap?: ResponsivePropType;
/**
* Specify flex value:
* @example
* component content
*
*/
flex?: ResponsivePropType;
} & Omit, 'children' | 'as' | 'className' | 'fullWidth' | 'fullHeight' | 'noShrink' | 'direction' | 'justifyContent' | 'alignContent' | 'alignItems' | 'alignSelf' | 'inlineFlex' | 'wrap' | 'wrapReverse' | 'margin' | 'marginTop' | 'marginRight' | 'marginBottom' | 'marginLeft' | 'gap' | 'flex'>;
export declare function getIconGroup(iconName: string): string;
declare type GroupedOptionsPropsType = {
label: string;
options: ReadonlyArray;
};
export declare const Header: ({ children, fixed, withDivider, className, ...props }: HeaderPropsType) => React.JSX.Element;
export declare const HeaderContainer: ({ children, className, ...props }: HeaderContainerPropsType) => React.JSX.Element;
export declare type HeaderContainerPropsType = {
children: React.ReactNode;
className?: string;
} & Omit, 'children' | 'className'>;
export declare const HeaderContent: ({ children, autoHeight, className, ...props }: HeaderContentPropsType) => React.JSX.Element;
export declare type HeaderContentPropsType = {
children: React.ReactNode;
autoHeight?: boolean;
className?: string;
} & Omit, 'children' | 'autoHeight' | 'className'>;
export declare const HeaderLeft: ({ children, className, ...props }: HeaderLeftPropsType) => React.JSX.Element;
export declare type HeaderLeftPropsType = {
children?: React.ReactNode;
className?: string;
} & Omit, 'children' | 'className'>;
export declare const HeaderMiddle: ({ children, className, ...props }: HeaderMiddlePropsType) => React.JSX.Element;
export declare type HeaderMiddlePropsType = {
children?: React.ReactNode;
className?: string;
} & Omit, 'children' | 'className'>;
export declare type HeaderPropsType = {
children: React.ReactNode;
withDivider?: boolean;
fixed?: boolean;
className?: string;
} & Omit, 'children' | 'withDivider' | 'fixed' | 'className'>;
export declare const HeaderRight: ({ children, className, ...props }: HeaderRightPropsType) => React.JSX.Element;
export declare type HeaderRightPropsType = {
children?: React.ReactNode;
className?: string;
} & Omit, 'children' | 'className'>;
export declare const Headline: ({ children, as, size, extraBold, transform, align, color, className, inherited, ...props }: HeadlinePropsType) => React.JSX.Element;
declare type HeadlineAlignType = 'to-left' | 'to-center' | 'to-right' | 'justify';
declare type HeadlineAsType = 'span' | 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6' | 'blockquote' | 'q' | 'strong' | 'em' | 'del' | 'ins';
export declare type HeadlinePropsType = {
children?: React.ReactNode;
size?: ResponsivePropType;
as?: HeadlineAsType;
color?: TextColorType | null | undefined;
transform?: ResponsivePropType;
align?: ResponsivePropType;
className?: string | null | undefined;
extraBold?: ResponsivePropType;
inherited?: boolean | null | undefined;
} & Omit, 'children' | 'size' | 'type' | 'color' | 'transform' | 'align' | 'className' | 'extraBold' | 'inherited'>;
declare type HeadlineSizeType = 'xxsmall' | 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge' | 'xxlarge' | 'xxxlarge';
declare type HeadlineTransformType = 'uppercase' | 'lowercase' | 'capitalize';
export declare const hex: Record;
export declare const HomeButton: ({ type, href, className, alt, "aria-label": ariaLabel, ...props }: HomeButtonPropsType) => React.JSX.Element;
declare type HomeButtonLogoTypeType = 'brainly' | 'eodev' | 'nosdevoirs' | 'znanija' | 'znanija-plus' | 'brainly-plus' | 'brainly-tutoring';
export declare type HomeButtonPropsType = {
type?: HomeButtonLogoTypeType;
href?: string;
className?: string;
alt?: string;
'aria-label'?: string;
} & Omit, 'type' | 'href' | 'className' | 'alt' | 'undefined'>;
export declare const Icon: ({ color, size, type, children, as, className, title, description, ...props }: IconPropsType) => React.JSX.Element;
export declare const IconAsButton: ({ color, size, type, children, action, transparent, active, border, className, title, ...props }: IconAsButtonPropsType) => React.JSX.Element;
export declare type IconAsButtonPropsType = {
size?: IconSizeType;
color?: IconColorType;
type?: IconType | null | undefined;
children?: React.ReactElement | null | undefined;
border?: boolean;
action?: boolean;
transparent?: boolean;
active?: boolean;
href?: string;
className?: string;
title?: string;
} & Omit, 'size' | 'color' | 'type' | 'children' | 'border' | 'action' | 'transparent' | 'active' | 'href' | 'className' | 'title'>;
declare type IconAsType = 'div' | 'span';
declare type IconColorType = 'adaptive' | 'icon-black' | 'icon-white' | 'icon-blue-50' | 'icon-blue-60' | 'icon-indigo-50' | 'icon-indigo-60' | 'icon-green-50' | 'icon-green-60' | 'icon-yellow-50' | 'icon-yellow-60' | 'icon-red-50' | 'icon-red-60' | 'icon-gray-70' | 'icon-gray-60' | 'icon-gray-50' | 'icon-gray-40';
export declare type IconPropsType = ({
/**
* Additional class names
*/
className?: string | null | undefined;
/**
* Icons colors example, see more in SG interactive
* @example
* @see color="adaptive" https://styleguide.brainly.com/latest/docs/interactive.html?color=adaptive#icons
*/
color?: IconColorType | null | undefined;
/**
* Icons size example, see more in SG interactive
* @example
* @see size="24" https://styleguide.brainly.com/latest/docs/interactive.html?size=24#icons
*/
size?: IconSizeType_2 | null | undefined;
/**
* Icons types example, see more in SG interactive
* @example
* @see type="heart" https://styleguide.brainly.com/latest/docs/interactive.html?type=heart#icons
*/
type: IconType;
/**
* Option to change tag to span, which allows correct HTML structure
* @example
*/
as?: IconAsType;
/**
* An accessible, short-text description; defaults to `type`
*/
title?: string;
/**
* An accessible, long-text description
*/
description?: string;
} & Omit, 'className' | 'color' | 'size' | 'type' | 'as' | 'title' | 'description'>) | ({
/**
* Children to be rendered inside Icon
*/
children: React.ReactNode;
/**
* Additional class names
*/
className?: string | null | undefined;
/**
* Icons colors example, see more in SG interactive
* @example
* @see color="adaptive" https://styleguide.brainly.com/latest/docs/interactive.html?color=adaptive#icons
*/
color?: IconColorType | null | undefined;
/**
* Icons size example, see more in SG interactive
* @example
* @see size="24" https://styleguide.brainly.com/latest/docs/interactive.html?size=24#icons
*/
size?: IconSizeType_2 | null | undefined;
/**
* Option to change tag to span, which allows correct HTML structure
* @example
*/
as?: IconAsType;
/**
* An accessible, short-text description; defaults to `type`
*/
title?: string;
/**
* An accessible, long-text description
*/
description?: string;
} & Omit, 'children' | 'className' | 'color' | 'size' | 'as' | 'title' | 'description'>);
declare type IconSizeType = 'small' | 'normal';
declare type IconSizeType_2 = 16 | 24 | 32 | 40 | 56 | 80 | 104;
export declare type IconType = 'academic_cap' | 'achievement' | 'add_more' | 'ai' | 'all_questions' | 'answer_bubble' | 'answer' | 'answers' | 'apple' | 'archive_checked' | 'archive' | 'arrow_double_right' | 'arrow_down' | 'arrow_left' | 'arrow_right' | 'arrow_top_right' | 'arrow_up' | 'ask_bubble' | 'ask_parent_to_pay' | 'attachment' | 'autopublish' | 'bell_checked' | 'bell_outlined' | 'best_answer' | 'block' | 'bold' | 'brainly_oval' | 'brainly_parallelogram' | 'bulb_checked' | 'bulb_filled' | 'bulb' | 'bulleted_list' | 'calendar' | 'camera' | 'caret_down' | 'caret_up' | 'chapter' | 'chat' | 'check' | 'check_circle' | 'chevron_double_down' | 'chevron_double_right' | 'chevron_down' | 'chevron_left' | 'chevron_right' | 'chevron_up' | 'chevrons_horizontal' | 'circle' | 'clear' | 'clipboard' | 'clipboard_outlined' | 'close' | 'collapse' | 'comment_outlined' | 'comment' | 'counter' | 'credit_card' | 'crop' | 'crown_outlined' | 'crown' | 'cup' | 'cursor_select' | 'cyrillic' | 'discord' | 'document' | 'dot' | 'draw' | 'drawing_mode' | 'envelope' | 'equation' | 'eraser' | 'european' | 'exclamation_mark' | 'expand' | 'facebook' | 'filters' | 'forwad' | 'friend_add' | 'friend_checked' | 'friend_pending' | 'friend_remove' | 'friends' | 'fullscreen' | 'funnel' | 'ginny' | 'globe' | 'google' | 'graph' | 'greek' | 'heading' | 'heart_outlined' | 'heart' | 'highlight' | 'home' | 'how_to_scan' | 'image_library' | 'image' | 'influence' | 'info_outlined' | 'info' | 'instagram' | 'italic' | 'keyboard' | 'less' | 'line' | 'link' | 'linkedin' | 'lock_with_play' | 'logout' | 'math_scan' | 'medium' | 'megaphone' | 'menu' | 'message_new' | 'messages' | 'mic' | 'minimize' | 'mic_muted' | 'minus_in_circle_outlined' | 'money_transfer' | 'more' | 'multiselect_checked' | 'multiselect_unchecked' | 'notifications' | 'numbered_list' | 'open_in_new_tab' | 'options' | 'padlock_open' | 'padlock' | 'pause' | 'pdf' | 'pencil' | 'pi' | 'play' | 'plus' | 'points' | 'printer' | 'profile_settings' | 'profile_view' | 'profile' | 'question_alt' | 'question' | 'quote' | 'recent_questions_alt' | 'recent_questions' | 'rectangle' | 'reload' | 'report_flag_outlined' | 'report_flag' | 'rotate_90' | 'rotate' | 'search' | 'search_add' | 'seen' | 'send' | 'settings' | 'share' | 'shield' | 'sidebar_left' | 'sidebar_right' | 'smartphone' | 'sms' | 'spark' | 'sparks' | 'star_half_outlined' | 'star_half' | 'star_outlined' | 'star' | 'subtitle' | 'sup_sub' | 'symbols' | 'textbook' | 'thumb_down_outlined' | 'thumb_down' | 'thumb_up_outlined' | 'thumb_up' | 'title' | 'tiktok' | 'toughest_questions_alt' | 'toughest_questions' | 'trash' | 'triangle' | 'twitter' | 'underlined' | 'unseen' | 'upload' | 'user_block' | 'verified' | 'view_checked' | 'warning' | 'youtube' | 'gift';
export declare const Input: (props: InputPropsType) => React.JSX.Element;
declare type InputColorType = 'default' | 'white';
export declare type InputPropsType = {
/**
* Optional specification for input type
* @example
*/
type?: InputType | null | undefined;
/**
* Optional specification for input value, which can be string or number
* @example
*/
value?: string | number;
/**
* There are two sizes options for most of the form elements
* @example
* @see size="normal" https://styleguide.brainly.com/latest/docs/interactive.html?size="normal"#input
* @see size="large" https://styleguide.brainly.com/latest/docs/interactive.html?size="large"#input
*/
size?: InputSizeType | null | undefined;
/**
* There are two color variants for form elements, default does not have to be specified
* @example
* @see color="default" https://styleguide.brainly.com/latest/docs/interactive.html?color="default"#input
* @see color="white" https://styleguide.brainly.com/latest/docs/interactive.html?color="white"#input
*/
color?: InputColorType | null | undefined;
/**
* Optional boolean to specified if it's valid
* @example
*/
valid?: boolean;
/**
* Optional boolean to specified if it's invalid
* @example
*/
invalid?: boolean;
/**
* Optional boolean to specified if it's full width
* @example
*/
fullWidth?: boolean;
/**
* Optional boolean to specified if it's with icon, used in search component
* @example
*/
withIcon?: boolean;
/**
* Optional Node if there should be an error message displayed
* @example
*/
errorMessage?: React.ReactNode;
/**
* Additional class names
*/
className?: string;
/**
* Additional function to set ref for input
*/
setInputRef?: {
current: HTMLInputElement | null | undefined;
} | ((ref: (HTMLElement | null | undefined) | (HTMLInputElement | null | undefined)) => unknown);
} & Omit, 'type' | 'value' | 'size' | 'color' | 'valid' | 'invalid' | 'fullWidth' | 'withIcon' | 'errorMessage' | 'className' | 'setInputRef'>;
declare type InputSizeType = 's' | 'm' | 'l';
declare type InputType = 'button' | 'color' | 'date' | 'datetime-local' | 'email' | 'file' | 'hidden' | 'image' | 'month' | 'number' | 'password' | 'range' | 'reset' | 'search' | 'submit' | 'tel' | 'text' | 'time' | 'url' | 'week';
export declare const Label: ({ children, type, iconType, onClose, color, className, closeButtonLabel, iconTitle, iconAriaHidden, ...props }: LabelPropsType) => React.JSX.Element;
declare type LabelColorType = 'blue' | 'green' | 'indigo' | 'red' | 'yellow' | 'gray' | 'achromatic';
export declare type LabelPropsType = Readonly<{
/**
* Specify type of label
* @example
* @see type="default" https://styleguide.brainly.com/latest/docs/interactive.html?type="default"#labels
* @see type="solid" https://styleguide.brainly.com/latest/docs/interactive.html?type="solid"#labels
* @see type="transparent" https://styleguide.brainly.com/latest/docs/interactive.html?type="transparent"#labels
* @see type="transparent-color" https://styleguide.brainly.com/latest/docs/interactive.html?type="transparent-color"#labels
*/
type?: LabelType;
/**
* Specify color for label
* @example
* @see color="blue" https://styleguide.brainly.com/latest/docs/interactive.html?color="blue"#labels
* @see color="green" https://styleguide.brainly.com/latest/docs/interactive.html?color="green"#labels
* @see color="indigo" https://styleguide.brainly.com/latest/docs/interactive.html?color="indigo"#labels
* @see color="red" https://styleguide.brainly.com/latest/docs/interactive.html?color="red"#labels
* @see color="yellow" https://styleguide.brainly.com/latest/docs/interactive.html?color="yellow"#labels
* @see color="gray" https://styleguide.brainly.com/latest/docs/interactive.html?color="gray"#labels
* @see color="achromatic" https://styleguide.brainly.com/latest/docs/interactive.html?color="achromatic"#labels
*/
color?: LabelColorType;
/**
* Icons types example, see more in SG interactive
* @example
* @see type="iconType" https://styleguide.brainly.com/latest/docs/interactive.html?iconType=heart#labels
*/
iconType?: IconType;
/**
* Callback, called by clicking on **close** button. If specified, button will be added automatically
* @example
*/
onClose?: ((arg0: React.SyntheticEvent) => void) | null | undefined;
/**
* Children to be rendered inside Label
* @example
*/
children: React.ReactNode;
/**
* Additional class names
*/
className?: string;
/**
* Accessible label for **close** button
*/
closeButtonLabel?: string;
/**
* Accessible title for an icon
*/
iconTitle?: string;
/**
* Hiding icon from accessibility tree
*/
iconAriaHidden?: boolean;
} & Omit, 'type' | 'color' | 'iconType' | 'onClose' | 'children' | 'className' | 'closeButtonLabel' | 'iconTitle' | 'iconAriaHidden'>>;
declare type LabelType = 'default' | 'solid' | 'transparent' | 'transparent-color';
export declare const Layout: ({ children, header, footer, reversedOrder, noMaxWidth, noMarginTop, fullPage, threeColumns, className, containerClassName, as: Type, ...props }: LayoutPropsType) => React.JSX.Element;
export declare const LayoutAsideContent: ({ children, className, as: Type, ...props }: LayoutAsideContentPropsType) => React.JSX.Element;
declare type LayoutAsideContentAsType = 'div' | 'main' | 'section' | 'article' | 'aside';
export declare type LayoutAsideContentPropsType = {
className?: string | null | undefined;
children: React.ReactNode;
as?: LayoutAsideContentAsType;
} & Omit, 'className' | 'children' | 'as'>;
declare type LayoutAsType = 'div' | 'main' | 'section' | 'article' | 'aside';
export declare const LayoutContent: ({ children, noMaxWidth, center, className, as: Type, ...props }: LayoutContentPropsType) => React.JSX.Element;
declare type LayoutContentAsType = 'div' | 'main' | 'section' | 'article' | 'aside';
export declare type LayoutContentPropsType = {
className?: string | null | undefined;
children: React.ReactNode;
noMaxWidth?: boolean;
center?: boolean;
as?: LayoutContentAsType;
} & Omit, 'className' | 'children' | 'noMaxWidth' | 'center' | 'as'>;
export declare type LayoutPropsType = {
className?: string;
containerClassName?: string;
children: React.ReactNode;
header?: React.ReactNode;
footer?: React.ReactNode;
noMaxWidth?: boolean;
noMarginTop?: boolean;
reversedOrder?: boolean;
fullPage?: boolean;
threeColumns?: boolean;
as?: LayoutAsType;
} & Omit, 'className' | 'containerClassName' | 'children' | 'header' | 'footer' | 'noMaxWidth' | 'noMarginTop' | 'reversedOrder' | 'fullPage' | 'threeColumns' | 'as'>;
export declare const LayoutSecondaryContent: ({ children, className, as: Type, ...props }: LayoutSecondaryContentPropsType) => React.JSX.Element;
declare type LayoutSecondaryContentAsType = 'div' | 'main' | 'section' | 'article' | 'aside';
export declare type LayoutSecondaryContentPropsType = {
className?: string | null | undefined;
children: React.ReactNode;
as?: LayoutSecondaryContentAsType;
} & Omit, 'className' | 'children' | 'as'>;
export declare const Link: (props: LinkPropsType) => React.JSX.Element;
export declare type LinkPropsType = {
children?: React.ReactNode | null | undefined;
as?: ElementType | null | undefined;
href?: string | null | undefined;
size?: ResponsivePropType;
color?: TextColorType | null | undefined;
weight?: ResponsivePropType;
transform?: ResponsivePropType;
align?: ResponsivePropType;
noWrap?: ResponsivePropType;
breakWords?: ResponsivePropType;
underlined?: boolean;
unstyled?: boolean;
emphasised?: boolean;
disabled?: boolean;
className?: string | null | undefined;
inherited?: boolean;
'aria-label'?: string;
target?: TargetType_3;
newTabLabel?: string;
hideNewTabIndicator?: boolean;
onClick?: (arg0: React.MouseEvent) => unknown;
} & Omit, 'children' | 'as' | 'href' | 'size' | 'color' | 'weight' | 'transform' | 'align' | 'noWrap' | 'breakWords' | 'underlined' | 'unstyled' | 'emphasised' | 'disabled' | 'className' | 'inherited' | 'undefined' | 'target' | 'newTabLabel' | 'hideNewTabIndicator' | 'onClick'>;
declare type LinkSizeType = 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge' | 'xxlarge' | 'xxxlarge';
declare type LinksType = Readonly<{
label: string;
url: string;
}>;
export declare const List: ({ spaced, className, ordered, children, ...props }: ListPropsType) => React.JSX.Element;
export declare const ListItem: ({ children, className, ...props }: ListItemPropsType) => React.JSX.Element;
export declare const ListItemIcon: ({ small, children, className, ...props }: ListItemIconPropsType) => React.JSX.Element;
export declare type ListItemIconPropsType = {
children?: React.ReactNode;
className?: string;
small?: boolean;
} & Omit, 'children' | 'className' | 'small'>;
export declare type ListItemPropsType = {
children?: React.ReactNode;
className?: string;
} & Omit, 'children' | 'className'>;
export declare type ListPropsType = {
children?: React.ReactNode;
spaced?: boolean;
className?: string;
ordered?: boolean;
} & Omit, 'children' | 'spaced' | 'className' | 'ordered'>;
export declare const Logo: ({ type, className, alt, ...props }: LogoPropsType) => React.JSX.Element;
export declare type LogoPropsType = {
className?: string;
type?: LogoType;
alt?: string;
} & Omit, 'className' | 'type' | 'alt'>;
export declare type LogoType = 'brainly' | 'brainly-inverse' | 'brainly-mobile' | 'brainly-mobile-inverse' | 'eodev' | 'eodev-inverse' | 'eodev-mobile' | 'eodev-mobile-inverse' | 'nosdevoirs' | 'nosdevoirs-inverse' | 'nosdevoirs-mobile' | 'nosdevoirs-mobile-inverse' | 'znanija' | 'znanija-inverse' | 'znanija-mobile' | 'znanija-mobile-inverse' | 'znanija-plus' | 'znanija-plus-inverse' | 'znanija-plus-small' | 'brainly-plus' | 'brainly-plus-inverse' | 'brainly-tutoring' | 'brainly-tutoring-inverse' | 'brainly-logotype-tutor' | 'logo-tutor' | 'logo-math-solver' | 'logo-community-qa' | 'logo-textbook-detective' | 'brainly-logotype-math-solver' | 'brainly-logotype-community-qa' | 'brainly-logotype-textbook-detective';
export declare const MathSymbol: ({ type, size, color, className, title, ...props }: MathSymbolPropsType) => React.JSX.Element;
export declare type MathSymbolPropsType = {
type: MathSymbolType;
size?: MathSymbolSizeType;
color?: IconColorType;
className?: string;
title?: string;
} & Omit, 'type' | 'size' | 'color' | 'className' | 'title'>;
declare type MathSymbolSizeType = 'small' | 'medium' | 'normal';
export declare type MathSymbolType = 'squere-root' | 'nth-root' | 'power' | 'subscript' | 'less-then-or-equal' | 'greater-then-or-equal' | 'inequality' | 'division' | 'pi' | 'alpha' | 'beta' | 'line' | 'limit' | 'matrix' | 'integral' | 'equation-system';
export declare const Media: (props: MediaPropsType) => React.JSX.Element;
export declare type MediaPropsType = {
aside: React.ReactNode;
contentArray: Array;
toRight?: boolean;
clickable?: boolean;
noPadding?: boolean;
small?: boolean;
spacedBottom?: boolean;
className?: string;
color?: ColorType_3;
} & Omit, 'aside' | 'contentArray' | 'toRight' | 'clickable' | 'noPadding' | 'small' | 'spacedBottom' | 'className' | 'color'>;
declare type MenuItemPropsType = {
className?: string;
href?: string;
text: string;
as?: string | ((arg0: any) => React.ReactNode);
} & Omit, 'className' | 'href' | 'text' | 'as'>;
export declare const MenuList: ({ items, size, className, ...props }: MenuListPropsType) => React.JSX.Element;
export declare type MenuListPropsType = {
size?: SizeType_7;
className?: string;
items?: Array;
} & Omit, 'size' | 'className' | 'items'>;
export declare const MobileIcon: ({ type, size, color, className, ...props }: MobileIconPropsType) => React.JSX.Element;
export declare type MobileIconPropsType = Readonly<{
type: MobileIconType;
size?: SizeType_6;
color?: IconColorType;
className?: string;
} & Omit, 'type' | 'size' | 'color' | 'className'>>;
export declare type MobileIconType = 'arrow' | 'answer_bubble' | 'ask_bubble' | 'backward_5s' | 'backward_end' | 'barcode_scanner' | 'bookmark' | 'bookmark_checked' | 'bookmark_outlined' | 'chapter' | 'circle_fill' | 'clear' | 'comment' | 'crown' | 'crown_outlined' | 'cup' | 'cursor_select' | 'dashed_line' | 'draw' | 'filters' | 'flashlight_off' | 'flashlight_on' | 'forward_5s' | 'hand_move' | 'heart_outlined' | 'hexagon' | 'info' | 'keyboard' | 'options' | 'replay' | 'send_back' | 'bring_front' | 'share_on_ios' | 'spark' | 'star_outlined' | 'text' | 'textbook' | 'time_speed' | 'unbookmark';
declare type OnMouseEnterType = (index: number, event: React.MouseEvent) => unknown;
declare type OptionsPropsType = {
value: string;
text: string;
};
export declare const Overlay: ({ partial, children, className, color, ...props }: OverlayPropsType) => React.JSX.Element;
export declare const OverlayedBox: ({ overlay, children, className, ...props }: OverlayedBoxPropsType) => React.JSX.Element;
export declare type OverlayedBoxPropsType = {
children?: React.ReactNode | null | undefined;
overlay?: React.ReactNode | null | undefined;
className?: string;
} & Omit, 'children' | 'overlay' | 'className'>;
export declare type OverlayPropsType = {
children?: React.ReactNode;
partial?: boolean;
className?: string;
color?: ColorType_4;
} & Omit, 'children' | 'partial' | 'className' | 'color'>;
declare type PaddingType = 'none' | 'xxs' | 'xs' | 's' | 'm' | 'l' | 'xl';
declare type PaddingType_2 = 'xxs' | 'xs' | 's' | 'm' | 'l' | 'xl';
export declare const Popover: {
({ children, placement, id, useHover, useClick, useFocus, defaultOpen, open, role, onOpenChange, }: PopoverPropsType): React.JSX.Element;
Trigger: React.ForwardRefExoticComponent<{
children: React.ReactNode;
} & Omit, "children"> & React.RefAttributes>;
Element: React.ForwardRefExoticComponent<{
children: React.ReactNode;
className?: string | null | undefined;
maxWidth?: string | undefined;
padding?: string | undefined;
withArrow?: boolean | undefined;
} & Omit, "children" | "className"> & React.RefAttributes>;
};
declare type PopoverContextType = ReturnType | null;
declare type PopoverPlacement = Placement;
export declare type PopoverPropsType = {
/**
* Popover content which consists of popover element and popover trigger.
* @example
Here's my popover
*/
children?: React.ReactNode;
/**
* Popover id.
*/
id?: string;
/**
* Popover alignment.
*/
placement?: PopoverPlacement;
/**
* Set if Popover should be displayed by default.
*/
defaultOpen?: boolean;
/**
* Only controlled component. Set Popover open state.
*/
open?: boolean;
role?: PopoverRole;
/**
* Determine if hover should affect popover visibility.
* @default true
*/
useHover?: boolean;
/**
* Determine if click should affect popover visibility.
* @default true
*/
useClick?: boolean;
/**
* Determine if focus should affect popover visibility.
* @default true
*/
useFocus?: boolean;
/**
* Only controlled component. Handle Popover open state change.
*/
onOpenChange?: (arg0: boolean) => void;
} & Omit, 'children' | 'className' | 'placement'>;
declare type PopoverRole = 'listbox' | 'dialog';
export declare const PopupMenu: ({ items, extraSpacing, className, ...props }: PopupMenuPropsType) => React.JSX.Element;
export declare type PopupMenuPropsType = {
items: Array;
extraSpacing?: boolean;
className?: string;
} & Omit, 'items' | 'extraSpacing' | 'className'>;
declare type PredefinedDurationType = 'instant' | 'quick1' | 'quick2' | 'moderate1' | 'moderate2' | 'gentle1' | 'gentle2';
declare type PredefinedEasingType = 'regular' | 'entry' | 'exit' | 'linear';
declare namespace predefinedEffects {
export {
createEffect,
PredefinedEffectType,
predefinedEffects_2 as predefinedEffects
}
}
declare const predefinedEffects_2: Record TransitionEffectType>;
declare type PredefinedEffectType = 'fade' | 'scaleFade' | 'slideUpFade' | 'slideDownFade' | 'slideLeftFade' | 'slideRightFade';
declare type PredefinedTranslateType = 'xxs' | 'xs' | 's' | 'm' | 'l' | 'xl' | '-xxs' | '-xs' | '-s' | '-m' | '-l' | '-xl';
export declare const ProgressBar: ({ size, noBorderRadius, invisibleTrack, value, minValue, maxValue, textValue, className, ...props }: ProgressBarPropsType) => React.JSX.Element;
export declare type ProgressBarPropsType = {
/**
* ProgressBar size
* @example
* @default s
*/
size?: SizeType_10;
/**
* Disable border radius
* @example
* @default false
*/
noBorderRadius?: boolean;
/**
* Enable invisible track
* @example
* @default false
*/
invisibleTrack?: boolean;
/**
* Current value, represents current progress of the process
* By default represents the current percentage of progress
* @example
*/
value: number;
/**
* The human-readable text alternative of value
* @example
*/
textValue?: string;
/**
* Max value
* @example
* @default 100
*/
maxValue?: number;
/**
* Min value
* @example
* @default 0
*/
minValue?: number;
className?: string;
};
declare type PropertyObjectType = Readonly;
width?: 'auto' | number | Readonly;
height?: 'auto' | number | Readonly;
opacity?: number | Readonly;
}>;
export declare const Radio: ({ checked, color, children, className, description, disabled, id, invalid, labelSize, name, onChange, required, style, value, "aria-labelledby": ariaLabelledBy, "aria-describedby": ariaDescribedBy, ...props }: RadioPropsType) => React.JSX.Element;
declare type RadioColorType = 'light' | 'dark';
declare type RadioContextType = {
color?: RadioColorType;
disabled?: boolean;
invalid?: boolean;
name?: string;
selectedValue: string | null | undefined;
setSelectedValue: (arg0: React.SyntheticEvent, arg1: string | null | undefined) => void;
lastFocusedValue: string | null | undefined;
setLastFocusedValue: (arg0: string | null | undefined) => void;
isPristine?: boolean;
};
export declare const RadioGroup: ({ className, children, color, direction, disabled, errorMessage, invalid, name, required, value, onChange, "aria-labelledby": ariaLabelledBy, "aria-describedby": ariaDescribedBy, ...props }: RadioGroupPropsType) => React.JSX.Element;
export declare type RadioGroupPropsType = {
/**
* Radiogroup inner elements
* @example Label
*/
children?: React.ReactNode;
/**
* Optional string. Additional classnames.
*/
className?: string | null | undefined;
/**
* Specify color variant of the Radios that you want to use.
* @example
*/
color?: RadioColorType;
/**
* Specify items display direction.
* @example
* @default "column"
*/
direction?: DirectionType_3;
/**
* Sets whether the radio is disabled.
* @example
*/
disabled?: boolean;
/**
* To be displayed below RadioGroup. The error message is not clickable. Note: you have to set `invalid` prop as well, to render the error message.
* @example Label
*/
errorMessage?: string;
/**
* Sets whether Radios are marked as invalid.
* @example
*/
invalid?: boolean;
/**
* Sets whether the RadioGroup is marked as required. This has no effect on the style.
* @example
*/
required?: boolean;
/**
* The name of Radio inputs.
* @example
*/
name?: string;
/**
* Function called with an object containing the react synthetic event, whenever selected radio input changes.
*/
onChange?: (arg0: React.SyntheticEvent) => void;
/**
* Currently selected radio input.
* @example Label
*/
value?: string | null | undefined;
/**
* ID of a custom label, that describes the radio group.
* @example
*/
'aria-labelledby'?: string;
/**
* ID of a custom text / section, that describes the radio group.
* @example
*/
'aria-describedby'?: string;
} & Omit, 'children' | 'className' | 'color' | 'direction' | 'disabled' | 'errorMessage' | 'invalid' | 'required' | 'name' | 'onChange' | 'value' | 'undefined' | 'undefined'>;
declare type RadioLabelSizeType = 'medium' | 'small';
export declare type RadioPropsType = {
/**
* Sets whether the radio is checked or unchecked.
* @example
*/
checked?: boolean;
/**
* To be displayed to the right of the radio as a label. The label is clickable radio element.
* @example Label
*/
children?: React.ReactNode;
/**
* Optional string. Additional classnames.
*/
className?: string | null | undefined;
/**
* Specify color variant of the radio that you want to use.
* @example
*/
color?: RadioColorType | null | undefined;
/**
* To be displayed below radio and its label. The description is not clickable. You can either pass text or your own component with custom styling.
* @example
*/
description?: React.ReactNode | string;
/**
* Sets whether the radio is disabled.
* @example
*/
disabled?: boolean;
/**
* ID assigned to the radio input. If not provided, random id will be generated.
* @example
*/
id?: string;
/**
* Sets whether the radio marked as invalid.
* @example
*/
invalid?: boolean;
/**
* Sets label size.
* @example
* @default false
*/
labelSize?: RadioLabelSizeType;
/**
* The name of the radio input.
* @example
*/
name?: string;
/**
* Function called with an object containing the react synthetic event, whenever the state of the radio changes.
*/
onChange?: (arg0: React.SyntheticEvent) => void;
/**
* Sets whether the radio input is marked as required. This doesn't affect radio style.
* @example
* @default false
*/
required?: boolean;
/**
* Style applied to the container.
* @example
*/
style?: StyleType_2;
/**
* Value of the radio input.
* @example
*/
value?: string | null | undefined;
/**
* ID of a custom label, that describes the radio input.
* @example
*/
'aria-labelledby'?: string;
/**
* ID of a custom text / section, that describes the radio input.
* @example
*/
'aria-describedby'?: string;
} & Omit, 'checked' | 'children' | 'className' | 'color' | 'description' | 'disabled' | 'id' | 'invalid' | 'labelSize' | 'name' | 'onChange' | 'required' | 'style' | 'value' | 'undefined' | 'undefined'>;
export declare class Rating extends React.Component {
static defaultProps: {
onChange: () => undefined;
onStarMouseEnter: () => undefined;
onMouseLeave: () => undefined;
metricSize: number;
rate: number;
'aria-label': string;
};
constructor(props: RatingPropsType);
name: string;
starsOnChangeFunctions: Array<() => unknown>;
starsMouseEnterFunctions: Array<(arg0: React.MouseEvent) => unknown>;
componentWillReciveProps(nextProps: RatingPropsType): void;
createStarsOnChangeFunctions(metricSize: number): void;
createStarsMouseEnterFunctions(metricSize: number): void;
onStarChange: (index: number) => void;
onStarMouseEnter: (index: number, event: React.MouseEvent) => void;
onMouseLeave: () => void;
render(): React.JSX.Element;
}
export declare type RatingPropsType = {
size?: RatingSizeType;
rate: number;
metricSize: number;
active?: boolean;
onChange: (arg0: number) => unknown;
onStarMouseEnter: OnMouseEnterType;
onMouseLeave: () => unknown;
counterText?: string;
activeText?: string;
noLabel?: boolean;
className?: string;
'aria-label'?: string;
} & Omit, 'size' | 'rate' | 'metricSize' | 'active' | 'onChange' | 'onStarMouseEnter' | 'onMouseLeave' | 'counterText' | 'activeText' | 'noLabel' | 'className' | 'undefined'>;
declare type RatingSizeType = 's' | 'xs';
declare type ResponsivePropType = T | Array | Readonly<{
sm?: T;
md?: T;
lg?: T;
xl?: T;
}>;
export declare const RwdHelper: ({ hide, children }: RwdHelperPropsType) => React.JSX.Element | null;
export declare type RwdHelperPropsType = {
hide: RwdHelperTypeType;
children: React.ReactElement | string;
} & Omit, 'hide' | 'children'>;
declare type RwdHelperTypeType = 'small-only' | 'medium-only' | 'medium-down' | 'medium-up' | 'large-only';
export declare const Search: ({ className, fullWidth, size, withRoundButton, inputClassName, buttonType, ...additionalProps }: SearchPropsType) => React.JSX.Element;
export declare type SearchPropsType = {
inputClassName?: string;
withRoundButton?: boolean;
buttonType?: ButtonTypeType;
} & Omit, 'inputClassName' | 'withRoundButton' | 'size'> & InputPropsType;
export declare const Select: React.ForwardRefExoticComponent<{
/**
* Optional specification for select value
* @example
*/
value?: string | undefined;
/**
* Optional boolean to specified if it's valid
* @example
*/
valid?: boolean | undefined;
/**
* Optional boolean to specified if it's invalid
* @example
*/
invalid?: boolean | undefined;
/**
* Optional boolean to specified if it's capitalized
* @example
*/
capitalized?: boolean | undefined;
/**
* There are two color variants for form elements, default does not have to be specified
* @example
* @see color="default" https://styleguide.brainly.com/latest/docs/interactive.html?color="default"#select
* @see color="white" https://styleguide.brainly.com/latest/docs/interactive.html?color="white"#select
*/
color?: SelectColorType | null | undefined;
/**
* There are two sizes options for most of the form elements
* @example
* @see size="m" https://styleguide.brainly.com/latest/docs/interactive.html?size="m"#select
* @see size="l" https://styleguide.brainly.com/latest/docs/interactive.html?size="l"#select
*/
size?: SelectSizeType | undefined;
/**
* Optional boolean to specified if it's full width
* @example
*/
fullWidth?: boolean | undefined;
/**
* Optional array of options of the select
* @example
*/
options?: readonly (OptionsPropsType | GroupedOptionsPropsType)[] | undefined;
/**
* Additional class names
*/
className?: string | undefined;
} & Omit, "className" | "value" | "invalid" | "color" | "size" | "fullWidth" | "options" | "valid" | "capitalized"> & React.RefAttributes>;
declare type SelectColorType = 'default' | 'white';
export declare const SelectMenu: React.ForwardRefExoticComponent<{
/**
* Optional string. Additional class names.
*/
className?: string | undefined;
/**
* Optional string. Select placeholder text.
* @example
* @default 'Select...'
*/
placeholder?: string | undefined;
/**
* Optional boolean. Set to true if select is valid.
* @example
* @default false
* */
valid?: boolean | undefined;
/**
* Optional boolean. Set to true if select is invalid.
* @example
* @default false
*/
invalid?: boolean | undefined;
/**
* Optional array. Select options.
* @example
* @default []
*/
options?: readonly SelectMenuOptionType[] | undefined;
/**
* Optional array. Select selected options.
* @example
* @default []
*/
selectedOptions?: readonly SelectMenuOptionType[] | undefined;
/**
* Optional boolean. Set to true, if user can select multiple options.
* @example
*/
multiSelect?: boolean | undefined;
/**
* Optional boolean. Set when you want to manually controll select popup menu appearance. If not set, the component will manage it itself.
* @example
* @default undefined
*/
expanded?: boolean | undefined;
/**
* Optional boolean. Set when you want to display select popup menu on first render, but you want the component manage it's expanded state itself.
* @example
* @default undefined
*/
defaultExpanded?: boolean | undefined;
/**
* Optional boolean. Set to `true` when you want to display option icon (if it has any).
* @example
* @default false
*/
withIcons?: boolean | undefined;
/**
* Optional boolean. Set to `true` if you want to disable select.
* @example
*/
disabled?: boolean | undefined;
/**
* Set to change the Select size. There are three sizes options: `s`, `m` and `l`.
* @example
* @default "m"
*/
size?: SelectMenuSizeType | undefined;
/**
* There are two color variants, `default` and `white`. The default does not have to be specified.
* @example
*/
color?: SelectMenuColorType | null | undefined;
/**
* Optional callback. Called by clicking on the any part of the Select component.
* @example