UNPKG

@carbon/react

Version:

React components for the Carbon Design System

67 lines (66 loc) 2.19 kB
/** * Copyright IBM Corp. 2016, 2025 * * This source code is licensed under the Apache-2.0 license found in the * LICENSE file in the root directory of this source tree. */ import PropTypes from 'prop-types'; import React, { type HTMLAttributes } from 'react'; export type FilenameStatus = 'edit' | 'complete' | 'uploading'; type SVGAttr = React.SVGAttributes<React.ReactSVGElement>; export interface FilenameProps extends Omit<HTMLAttributes<HTMLElement> & SVGAttr, 'tabIndex' | 'type'> { /** * Specify an id that describes the error to be read by screen readers when the filename is invalid */ ['aria-describedby']?: string; /** * Provide a description of the SVG icon to denote file upload status */ iconDescription?: string; /** * Specify if the file is invalid */ invalid?: boolean; /** * Name of the uploaded file */ name?: string; /** * Status of the file upload */ status?: FilenameStatus; /** * Provide a custom tabIndex value for the `<Filename>` */ tabIndex?: number; } declare function Filename({ iconDescription, status, invalid, name, tabIndex, ['aria-describedby']: ariaDescribedBy, ...rest }: FilenameProps): import("react/jsx-runtime").JSX.Element | null; declare namespace Filename { var propTypes: { /** * Specify an id that describes the error to be read by screen readers when the filename is invalid */ "aria-describedby": PropTypes.Requireable<string>; /** * Provide a description of the SVG icon to denote file upload status */ iconDescription: PropTypes.Requireable<string>; /** * Specify if the file is invalid */ invalid: PropTypes.Requireable<boolean>; /** * Name of the uploaded file */ name: PropTypes.Requireable<string>; /** * Status of the file upload */ status: PropTypes.Requireable<string>; /** * Provide a custom tabIndex value for the `<Filename>` */ tabIndex: PropTypes.Requireable<number>; }; } export default Filename;