goobs-frontend
Version:
A comprehensive React-based libary for building modern web applications
32 lines • 1.49 kB
TypeScript
import { default as React } from 'react';
import { FormFieldStyles } from '../Field/Shell/types';
/** Styling contract for the `styles` prop — FormFieldStyles plus Select-specific keys. */
export interface SelectStyles extends FormFieldStyles {
/** @deprecated No-op — use the top-level `variant` prop; scheduled for removal. */
variant?: 'standard' | 'outlined' | 'filled';
/** @deprecated No-op — use the top-level `size` prop; scheduled for removal. */
size?: 'small' | 'medium';
/** @deprecated No-op — use the top-level `fullWidth` prop; scheduled for removal. */
fullWidth?: boolean;
}
export interface SelectProps extends Omit<React.SelectHTMLAttributes<HTMLSelectElement>, 'size'> {
children?: React.ReactNode;
styles?: SelectStyles;
variant?: 'standard' | 'outlined' | 'filled';
size?: 'small' | 'medium';
fullWidth?: boolean;
error?: boolean;
displayEmpty?: boolean;
/**
* Form-engine binding key (also forwarded to the native `<select name>`).
* When inside a `<Form>` with no explicit `value`, `useFieldBinding` pulls the
* value/onChange from the form engine; otherwise the caller's explicit
* value/onChange pass through unchanged (back-compat).
*/
name?: string;
/** Stable test selector — emitted as `data-field-name`; defaults to `name`. */
dataFieldName?: string;
}
declare const Select: React.FC<SelectProps>;
export default Select;
//# sourceMappingURL=index.d.ts.map