@carbon/react
Version:
React components for the Carbon Design System
67 lines (66 loc) • 2.19 kB
TypeScript
/**
* 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;