Page Menu
Home
c4science
Search
Configure Global Search
Log In
Files
F101468706
TextField.js
No One
Temporary
Actions
Download File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Subscribers
None
File Metadata
Details
File Info
Storage
Attached
Created
Mon, Feb 10, 18:26
Size
13 KB
Mime Type
text/x-java
Expires
Wed, Feb 12, 18:26 (2 d)
Engine
blob
Format
Raw Data
Handle
24171744
Attached To
rOACCT Open Access Compliance Check Tool (OACCT)
TextField.js
View Options
import
_extends
from
"@babel/runtime/helpers/esm/extends"
;
import
_objectWithoutProperties
from
"@babel/runtime/helpers/esm/objectWithoutProperties"
;
import
*
as
React
from
'react'
;
import
PropTypes
from
'prop-types'
;
import
clsx
from
'clsx'
;
import
{
unstable_composeClasses
as
composeClasses
}
from
'@mui/base'
;
import
{
refType
,
unstable_useId
as
useId
}
from
'@mui/utils'
;
import
styled
from
'../styles/styled'
;
import
useThemeProps
from
'../styles/useThemeProps'
;
import
Input
from
'../Input'
;
import
FilledInput
from
'../FilledInput'
;
import
OutlinedInput
from
'../OutlinedInput'
;
import
InputLabel
from
'../InputLabel'
;
import
FormControl
from
'../FormControl'
;
import
FormHelperText
from
'../FormHelperText'
;
import
Select
from
'../Select'
;
import
{
getTextFieldUtilityClass
}
from
'./textFieldClasses'
;
import
{
jsx
as
_jsx
}
from
"react/jsx-runtime"
;
import
{
jsxs
as
_jsxs
}
from
"react/jsx-runtime"
;
var
variantComponent
=
{
standard
:
Input
,
filled
:
FilledInput
,
outlined
:
OutlinedInput
};
var
useUtilityClasses
=
function
useUtilityClasses
(
ownerState
)
{
var
classes
=
ownerState
.
classes
;
var
slots
=
{
root
:
[
'root'
]
};
return
composeClasses
(
slots
,
getTextFieldUtilityClass
,
classes
);
};
var
TextFieldRoot
=
styled
(
FormControl
,
{
name
:
'MuiTextField'
,
slot
:
'Root'
,
overridesResolver
:
function
overridesResolver
(
props
,
styles
)
{
return
styles
.
root
;
}
})({});
/**
* The `TextField` is a convenience wrapper for the most common cases (80%).
* It cannot be all things to all people, otherwise the API would grow out of control.
*
* ## Advanced Configuration
*
* It's important to understand that the text field is a simple abstraction
* on top of the following components:
*
* - [FormControl](/material-ui/api/form-control/)
* - [InputLabel](/material-ui/api/input-label/)
* - [FilledInput](/material-ui/api/filled-input/)
* - [OutlinedInput](/material-ui/api/outlined-input/)
* - [Input](/material-ui/api/input/)
* - [FormHelperText](/material-ui/api/form-helper-text/)
*
* If you wish to alter the props applied to the `input` element, you can do so as follows:
*
* ```jsx
* const inputProps = {
* step: 300,
* };
*
* return <TextField id="time" type="time" inputProps={inputProps} />;
* ```
*
* For advanced cases, please look at the source of TextField by clicking on the
* "Edit this page" button above. Consider either:
*
* - using the upper case props for passing values directly to the components
* - using the underlying components directly as shown in the demos
*/
var
TextField
=
/*#__PURE__*/
React
.
forwardRef
(
function
TextField
(
inProps
,
ref
)
{
var
props
=
useThemeProps
({
props
:
inProps
,
name
:
'MuiTextField'
});
var
autoComplete
=
props
.
autoComplete
,
_props$autoFocus
=
props
.
autoFocus
,
autoFocus
=
_props$autoFocus
===
void
0
?
false
:
_props$autoFocus
,
children
=
props
.
children
,
className
=
props
.
className
,
_props$color
=
props
.
color
,
color
=
_props$color
===
void
0
?
'primary'
:
_props$color
,
defaultValue
=
props
.
defaultValue
,
_props$disabled
=
props
.
disabled
,
disabled
=
_props$disabled
===
void
0
?
false
:
_props$disabled
,
_props$error
=
props
.
error
,
error
=
_props$error
===
void
0
?
false
:
_props$error
,
FormHelperTextProps
=
props
.
FormHelperTextProps
,
_props$fullWidth
=
props
.
fullWidth
,
fullWidth
=
_props$fullWidth
===
void
0
?
false
:
_props$fullWidth
,
helperText
=
props
.
helperText
,
idOverride
=
props
.
id
,
InputLabelProps
=
props
.
InputLabelProps
,
inputProps
=
props
.
inputProps
,
InputProps
=
props
.
InputProps
,
inputRef
=
props
.
inputRef
,
label
=
props
.
label
,
maxRows
=
props
.
maxRows
,
minRows
=
props
.
minRows
,
_props$multiline
=
props
.
multiline
,
multiline
=
_props$multiline
===
void
0
?
false
:
_props$multiline
,
name
=
props
.
name
,
onBlur
=
props
.
onBlur
,
onChange
=
props
.
onChange
,
onFocus
=
props
.
onFocus
,
placeholder
=
props
.
placeholder
,
_props$required
=
props
.
required
,
required
=
_props$required
===
void
0
?
false
:
_props$required
,
rows
=
props
.
rows
,
_props$select
=
props
.
select
,
select
=
_props$select
===
void
0
?
false
:
_props$select
,
SelectProps
=
props
.
SelectProps
,
type
=
props
.
type
,
value
=
props
.
value
,
_props$variant
=
props
.
variant
,
variant
=
_props$variant
===
void
0
?
'outlined'
:
_props$variant
,
other
=
_objectWithoutProperties
(
props
,
[
"autoComplete"
,
"autoFocus"
,
"children"
,
"className"
,
"color"
,
"defaultValue"
,
"disabled"
,
"error"
,
"FormHelperTextProps"
,
"fullWidth"
,
"helperText"
,
"id"
,
"InputLabelProps"
,
"inputProps"
,
"InputProps"
,
"inputRef"
,
"label"
,
"maxRows"
,
"minRows"
,
"multiline"
,
"name"
,
"onBlur"
,
"onChange"
,
"onFocus"
,
"placeholder"
,
"required"
,
"rows"
,
"select"
,
"SelectProps"
,
"type"
,
"value"
,
"variant"
]);
var
ownerState
=
_extends
({},
props
,
{
autoFocus
:
autoFocus
,
color
:
color
,
disabled
:
disabled
,
error
:
error
,
fullWidth
:
fullWidth
,
multiline
:
multiline
,
required
:
required
,
select
:
select
,
variant
:
variant
});
var
classes
=
useUtilityClasses
(
ownerState
);
if
(
process
.
env
.
NODE_ENV
!==
'production'
)
{
if
(
select
&&
!
children
)
{
console
.
error
(
'MUI: `children` must be passed when using the `TextField` component with `select`.'
);
}
}
var
InputMore
=
{};
if
(
variant
===
'outlined'
)
{
if
(
InputLabelProps
&&
typeof
InputLabelProps
.
shrink
!==
'undefined'
)
{
InputMore
.
notched
=
InputLabelProps
.
shrink
;
}
InputMore
.
label
=
label
;
}
if
(
select
)
{
// unset defaults from textbox inputs
if
(
!
SelectProps
||
!
SelectProps
.
native
)
{
InputMore
.
id
=
undefined
;
}
InputMore
[
'aria-describedby'
]
=
undefined
;
}
var
id
=
useId
(
idOverride
);
var
helperTextId
=
helperText
&&
id
?
""
.
concat
(
id
,
"-helper-text"
)
:
undefined
;
var
inputLabelId
=
label
&&
id
?
""
.
concat
(
id
,
"-label"
)
:
undefined
;
var
InputComponent
=
variantComponent
[
variant
];
var
InputElement
=
/*#__PURE__*/
_jsx
(
InputComponent
,
_extends
({
"aria-describedby"
:
helperTextId
,
autoComplete
:
autoComplete
,
autoFocus
:
autoFocus
,
defaultValue
:
defaultValue
,
fullWidth
:
fullWidth
,
multiline
:
multiline
,
name
:
name
,
rows
:
rows
,
maxRows
:
maxRows
,
minRows
:
minRows
,
type
:
type
,
value
:
value
,
id
:
id
,
inputRef
:
inputRef
,
onBlur
:
onBlur
,
onChange
:
onChange
,
onFocus
:
onFocus
,
placeholder
:
placeholder
,
inputProps
:
inputProps
},
InputMore
,
InputProps
));
return
/*#__PURE__*/
_jsxs
(
TextFieldRoot
,
_extends
({
className
:
clsx
(
classes
.
root
,
className
),
disabled
:
disabled
,
error
:
error
,
fullWidth
:
fullWidth
,
ref
:
ref
,
required
:
required
,
color
:
color
,
variant
:
variant
,
ownerState
:
ownerState
},
other
,
{
children
:
[
label
!=
null
&&
label
!==
''
&&
/*#__PURE__*/
_jsx
(
InputLabel
,
_extends
({
htmlFor
:
id
,
id
:
inputLabelId
},
InputLabelProps
,
{
children
:
label
})),
select
?
/*#__PURE__*/
_jsx
(
Select
,
_extends
({
"aria-describedby"
:
helperTextId
,
id
:
id
,
labelId
:
inputLabelId
,
value
:
value
,
input
:
InputElement
},
SelectProps
,
{
children
:
children
}))
:
InputElement
,
helperText
&&
/*#__PURE__*/
_jsx
(
FormHelperText
,
_extends
({
id
:
helperTextId
},
FormHelperTextProps
,
{
children
:
helperText
}))]
}));
});
process
.
env
.
NODE_ENV
!==
"production"
?
TextField
.
propTypes
/* remove-proptypes */
=
{
// ----------------------------- Warning --------------------------------
// | These PropTypes are generated from the TypeScript type definitions |
// | To update them edit the d.ts file and run "yarn proptypes" |
// ----------------------------------------------------------------------
/**
* 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
:
PropTypes
.
string
,
/**
* If `true`, the `input` element is focused during the first mount.
* @default false
*/
autoFocus
:
PropTypes
.
bool
,
/**
* @ignore
*/
children
:
PropTypes
.
node
,
/**
* Override or extend the styles applied to the component.
*/
classes
:
PropTypes
.
object
,
/**
* @ignore
*/
className
:
PropTypes
.
string
,
/**
* The color of the component.
* It supports both default and custom theme colors, which can be added as shown in the
* [palette customization guide](https://mui.com/material-ui/customization/palette/#adding-new-colors).
* @default 'primary'
*/
color
:
PropTypes
/* @typescript-to-proptypes-ignore */
.
oneOfType
([
PropTypes
.
oneOf
([
'primary'
,
'secondary'
,
'error'
,
'info'
,
'success'
,
'warning'
]),
PropTypes
.
string
]),
/**
* The default value. Use when the component is not controlled.
*/
defaultValue
:
PropTypes
.
any
,
/**
* If `true`, the component is disabled.
* @default false
*/
disabled
:
PropTypes
.
bool
,
/**
* If `true`, the label is displayed in an error state.
* @default false
*/
error
:
PropTypes
.
bool
,
/**
* Props applied to the [`FormHelperText`](/material-ui/api/form-helper-text/) element.
*/
FormHelperTextProps
:
PropTypes
.
object
,
/**
* If `true`, the input will take up the full width of its container.
* @default false
*/
fullWidth
:
PropTypes
.
bool
,
/**
* The helper text content.
*/
helperText
:
PropTypes
.
node
,
/**
* The id of the `input` element.
* Use this prop to make `label` and `helperText` accessible for screen readers.
*/
id
:
PropTypes
.
string
,
/**
* Props applied to the [`InputLabel`](/material-ui/api/input-label/) element.
* Pointer events like `onClick` are enabled if and only if `shrink` is `true`.
*/
InputLabelProps
:
PropTypes
.
object
,
/**
* [Attributes](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#Attributes) applied to the `input` element.
*/
inputProps
:
PropTypes
.
object
,
/**
* Props applied to the Input element.
* It will be a [`FilledInput`](/material-ui/api/filled-input/),
* [`OutlinedInput`](/material-ui/api/outlined-input/) or [`Input`](/material-ui/api/input/)
* component depending on the `variant` prop value.
*/
InputProps
:
PropTypes
.
object
,
/**
* Pass a ref to the `input` element.
*/
inputRef
:
refType
,
/**
* The label content.
*/
label
:
PropTypes
.
node
,
/**
* If `dense` or `normal`, will adjust vertical spacing of this and contained components.
* @default 'none'
*/
margin
:
PropTypes
.
oneOf
([
'dense'
,
'none'
,
'normal'
]),
/**
* Maximum number of rows to display when multiline option is set to true.
*/
maxRows
:
PropTypes
.
oneOfType
([
PropTypes
.
number
,
PropTypes
.
string
]),
/**
* Minimum number of rows to display when multiline option is set to true.
*/
minRows
:
PropTypes
.
oneOfType
([
PropTypes
.
number
,
PropTypes
.
string
]),
/**
* If `true`, a `textarea` element is rendered instead of an input.
* @default false
*/
multiline
:
PropTypes
.
bool
,
/**
* Name attribute of the `input` element.
*/
name
:
PropTypes
.
string
,
/**
* @ignore
*/
onBlur
:
PropTypes
.
func
,
/**
* Callback fired when the value is changed.
*
* @param {object} event The event source of the callback.
* You can pull out the new value by accessing `event.target.value` (string).
*/
onChange
:
PropTypes
.
func
,
/**
* @ignore
*/
onFocus
:
PropTypes
.
func
,
/**
* The short hint displayed in the `input` before the user enters a value.
*/
placeholder
:
PropTypes
.
string
,
/**
* If `true`, the label is displayed as required and the `input` element is required.
* @default false
*/
required
:
PropTypes
.
bool
,
/**
* Number of rows to display when multiline option is set to true.
*/
rows
:
PropTypes
.
oneOfType
([
PropTypes
.
number
,
PropTypes
.
string
]),
/**
* Render a [`Select`](/material-ui/api/select/) element while passing the Input element to `Select` as `input` parameter.
* If this option is set you must pass the options of the select as children.
* @default false
*/
select
:
PropTypes
.
bool
,
/**
* Props applied to the [`Select`](/material-ui/api/select/) element.
*/
SelectProps
:
PropTypes
.
object
,
/**
* The size of the component.
*/
size
:
PropTypes
/* @typescript-to-proptypes-ignore */
.
oneOfType
([
PropTypes
.
oneOf
([
'medium'
,
'small'
]),
PropTypes
.
string
]),
/**
* The system prop that allows defining system overrides as well as additional CSS styles.
*/
sx
:
PropTypes
.
oneOfType
([
PropTypes
.
arrayOf
(
PropTypes
.
oneOfType
([
PropTypes
.
func
,
PropTypes
.
object
,
PropTypes
.
bool
])),
PropTypes
.
func
,
PropTypes
.
object
]),
/**
* 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).
*/
type
:
PropTypes
/* @typescript-to-proptypes-ignore */
.
string
,
/**
* The value of the `input` element, required for a controlled component.
*/
value
:
PropTypes
.
any
,
/**
* The variant to use.
* @default 'outlined'
*/
variant
:
PropTypes
.
oneOf
([
'filled'
,
'outlined'
,
'standard'
])
}
:
void
0
;
export
default
TextField
;
Event Timeline
Log In to Comment