Breadcrumb

Exports

@mbsw/ui에서 가져올 수 있는 항목입니다.

Props

컴포넌트별 주요 속성입니다. 조건부 속성의 조합과 공통 HTML, Radix 속성은 아래 전체 타입에서 확인하세요.

Breadcrumb

Breadcrumb 속성
PropType필수 여부
aria-label

Defines a string value that labels the current element.

string조건부
aria-labelledby

Identifies the element (or elements) that labels the current element.

string조건부
childrenReactNode필수

BreadcrumbItem

BreadcrumbItem 속성
PropType필수 여부
classNamestring선택
keyNumberstring선택
labelstring필수
leadingReactElement<unknown, string | JSXElementConstructor<any>>선택
asChildboolean조건부
childrenReactElement<unknown, string | JSXElementConstructor<any>>조건부
currentboolean조건부
hrefstring조건부

Type reference

전체 타입 보기

속성 조합과 상속 속성을 포함한 TypeScript 선언입니다.

import { type AnchorHTMLAttributes, type HTMLAttributes, type ReactElement, type ReactNode } from 'react';

type DataAttributes = {
    [key: `data-${string}`]: boolean | number | string | undefined;
};

type AccessibleName = {
    'aria-label': string;
    'aria-labelledby'?: string;
} | {
    'aria-label'?: string;
    'aria-labelledby': string;
};

type ReactEventHandlerProp<T> = {
    [Property in keyof T]-?: Property extends `on${string}` ? Property : never;
}[keyof T];

export type BreadcrumbProps = Omit<HTMLAttributes<HTMLElement>, 'aria-hidden' | 'children' | 'contentEditable' | 'dangerouslySetInnerHTML' | 'role'> & DataAttributes & AccessibleName & {
    'aria-hidden'?: never;
    children: ReactNode;
    contentEditable?: never;
    'data-depth'?: never;
    'data-slot'?: never;
    role?: never;
};

type BreadcrumbItemSharedProps = DataAttributes & {
    className?: string;
    'data-current'?: never;
    'data-slot'?: never;
    keyNumber?: string;
    label: string;
    leading?: ReactElement;
};

type BreadcrumbCurrentItemProps = BreadcrumbItemSharedProps & Omit<HTMLAttributes<HTMLSpanElement>, 'aria-current' | 'aria-hidden' | 'children' | 'className' | 'contentEditable' | 'dangerouslySetInnerHTML' | ReactEventHandlerProp<HTMLAttributes<HTMLSpanElement>> | 'onClick' | 'onKeyDown' | 'tabIndex'> & {
    asChild?: never;
    'aria-hidden'?: never;
    children?: never;
    contentEditable?: never;
    current: true;
    href?: never;
    onClick?: never;
    onKeyDown?: never;
    role?: never;
    tabIndex?: never;
};

type BreadcrumbNativeLinkItemProps = BreadcrumbItemSharedProps & Omit<AnchorHTMLAttributes<HTMLAnchorElement>, 'aria-current' | 'aria-hidden' | 'children' | 'className' | 'contentEditable' | 'dangerouslySetInnerHTML' | 'href'> & {
    'aria-hidden'?: never;
    asChild?: false;
    children?: never;
    contentEditable?: never;
    current?: false;
    href: string;
};

type BreadcrumbAsChildItemProps = BreadcrumbItemSharedProps & Omit<AnchorHTMLAttributes<HTMLAnchorElement>, 'aria-current' | 'aria-hidden' | 'children' | 'className' | 'contentEditable' | 'dangerouslySetInnerHTML' | 'href'> & {
    'aria-hidden'?: never;
    asChild: true;
    children: ReactElement;
    contentEditable?: never;
    current?: false;
    href?: never;
};

export type BreadcrumbItemProps = BreadcrumbAsChildItemProps | BreadcrumbCurrentItemProps | BreadcrumbNativeLinkItemProps;

export type BreadcrumbSeparatorProps = DataAttributes & Omit<HTMLAttributes<HTMLSpanElement>, 'aria-hidden' | 'children' | 'contentEditable' | 'dangerouslySetInnerHTML' | ReactEventHandlerProp<HTMLAttributes<HTMLSpanElement>> | 'tabIndex'> & {
    'data-slot'?: never;
};

export declare const BreadcrumbSeparator: import("react").ForwardRefExoticComponent<DataAttributes & Omit<HTMLAttributes<HTMLSpanElement>, "tabIndex" | "contentEditable" | "aria-hidden" | "children" | "dangerouslySetInnerHTML" | ReactEventHandlerProp<HTMLAttributes<HTMLSpanElement>>> & {
    'data-slot'?: never;
} & import("react").RefAttributes<HTMLSpanElement>>;

export declare const BreadcrumbItem: import("react").ForwardRefExoticComponent<BreadcrumbItemProps & import("react").RefAttributes<HTMLElement>>;

export declare const Breadcrumb: import("react").ForwardRefExoticComponent<BreadcrumbProps & import("react").RefAttributes<HTMLElement>>;