import { Theme } from "../styles"; import { InputBaseClasses } from "./inputBaseClasses"; import { SxProps } from "@suid/system"; import { OverridableStringUnion, ElementType, PropsOf, Ref, OverrideProps, FocusEventHandler, ChangeEventHandler, KeyboardEventHandler } from "@suid/types"; import { Component, JSX, JSXElement } from "solid-js"; export interface InputBasePropsSizeOverrides { } export interface InputBasePropsColorOverrides { } export interface InputBaseComponentsPropsOverrides { } export interface InputBaseTypeMap

{ name: "MuiInputBase"; defaultPropNames: "components" | "componentsProps" | "disableInjectingGlobalStyles" | "fullWidth" | "inputComponent" | "inputProps" | "multiline" | "type"; selfProps: { "aria-describedby"?: string; /** * This prop helps users to fill forms faster, especially on mobile devices. * The name can be confusing, as it's more like an autofill. * You can learn more about it [following the specification](https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#autofill). */ autoComplete?: string; /** * If `true`, the `input` element is focused during the first mount. */ autoFocus?: boolean; /** * Override or extend the styles applied to the component. */ classes?: Partial; /** * The color of the component. It supports those theme colors that make sense for this component. * The prop defaults to the value (`'primary'`) inherited from the parent FormControl component. */ color?: OverridableStringUnion<"primary" | "secondary" | "error" | "info" | "success" | "warning", InputBasePropsColorOverrides>; /** * The components used for each slot inside the InputBase. * Either a string to use a HTML element or a component. * @default {} */ components?: { Root?: ElementType; Input?: ElementType; }; /** * The props used for each slot inside the Input. * @default {} */ componentsProps?: { root?: JSX.HTMLAttributes & InputBaseComponentsPropsOverrides; input?: JSX.HTMLAttributes & InputBaseComponentsPropsOverrides; }; /** * The default value. Use when the component is not controlled. */ defaultValue?: unknown; /** * If `true`, the component is disabled. * The prop defaults to the value (`false`) inherited from the parent FormControl component. */ disabled?: boolean; /** * If `true`, GlobalStyles for the auto-fill keyframes will not be injected/removed on mount/unmount. Make sure to inject them at the top of your application. * This option is intended to help with boosting the initial rendering performance if you are loading a big amount of Input components at once. * @default false */ disableInjectingGlobalStyles?: boolean; /** * End `InputAdornment` for this component. */ endAdornment?: JSXElement; /** * If `true`, the `input` will indicate an error. * The prop defaults to the value (`false`) inherited from the parent FormControl component. */ error?: boolean; /** * If `true`, the `input` will take up the full width of its container. * @default false */ fullWidth?: boolean; /** * The id of the `input` element. */ id?: string; /** * The component used for the `input` element. * Either a string to use a HTML element or a component. * @default 'input' */ inputComponent?: string | Component; /** * [Attributes](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#Attributes) applied to the `input` element. * @default {} */ inputProps?: PropsOf<"input" | "textarea">; /** * Pass a ref to the `input` element. */ inputRef?: Ref; /** * If `dense`, will adjust vertical spacing. This is normally obtained via context from * FormControl. * The prop defaults to the value (`'none'`) inherited from the parent FormControl component. */ margin?: "dense" | "none"; /** * If `true`, a `textarea` element is rendered. * @default false */ multiline?: boolean; /** * Name attribute of the `input` element. */ name?: string; /** * Callback fired when the `input` is blurred. * * Notice that the first argument (event) might be undefined. */ onBlur?: FocusEventHandler; /** * Callback fired when the value is changed. * * @param {ChangeEventHandler} event The event source of the callback. * You can pull out the new value by accessing `event.target.value` (string). */ onChange?: ChangeEventHandler; onFocus?: FocusEventHandler; onKeyDown?: KeyboardEventHandler; onKeyUp?: KeyboardEventHandler; /** * The short hint displayed in the `input` before the user enters a value. */ placeholder?: string; /** * It prevents the user from changing the value of the field * (not from interacting with the field). */ readOnly?: boolean; /** * If `true`, the `input` element is required. * The prop defaults to the value (`false`) inherited from the parent FormControl component. */ required?: boolean; renderSuffix?: (state: { disabled?: boolean; error?: boolean; filled?: boolean; focused?: boolean; margin?: "dense" | "none" | "normal"; required?: boolean; startAdornment?: JSXElement; }) => JSXElement; /** * Number of rows to display when multiline option is set to true. */ rows?: string | number; /** * Maximum number of rows to display when multiline option is set to true. */ maxRows?: string | number; /** * Minimum number of rows to display when multiline option is set to true. */ minRows?: string | number; /** * The size of the component. */ size?: OverridableStringUnion<"small" | "medium", InputBasePropsSizeOverrides>; /** * Start `InputAdornment` for this component. */ startAdornment?: JSXElement; /** * The system prop that allows defining system overrides as well as additional CSS styles. */ sx?: SxProps; /** * Type of the `input` element. It should be [a valid HTML5 input type](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#Form_%3Cinput%3E_types). * @default 'text' */ type?: string; /** * The value of the `input` element, required for a controlled component. */ value?: unknown; }; props: P & InputBaseTypeMap["selfProps"]; defaultComponent: D; } export type InputBaseProps = OverrideProps, D>; export default InputBaseProps; //# sourceMappingURL=InputBaseProps.d.ts.map