+
{disableClearable || disabled ? null : (
)}
-
+
),
},
inputProps: {
diff --git a/packages/material-ui/src/FilledInput/FilledInput.js b/packages/material-ui/src/FilledInput/FilledInput.js
index c2eed812504f6b..d9ba768220301d 100644
--- a/packages/material-ui/src/FilledInput/FilledInput.js
+++ b/packages/material-ui/src/FilledInput/FilledInput.js
@@ -133,10 +133,6 @@ export const styles = theme => {
paddingBottom: 11,
},
},
- /* Styles applied to the `input` element if `select={true}`. */
- inputSelect: {
- paddingRight: 24,
- },
/* Styles applied to the `input` element if `multiline={true}`. */
inputMultiline: {
padding: 0,
diff --git a/packages/material-ui/src/InputBase/InputBase.js b/packages/material-ui/src/InputBase/InputBase.js
index fa142c669a79e8..1dc5ebb30884cd 100644
--- a/packages/material-ui/src/InputBase/InputBase.js
+++ b/packages/material-ui/src/InputBase/InputBase.js
@@ -133,10 +133,6 @@ export const styles = theme => {
inputMarginDense: {
paddingTop: 4 - 1,
},
- /* Styles applied to the `input` element if `select={true}`. */
- inputSelect: {
- paddingRight: 24,
- },
/* Styles applied to the `input` element if `multiline={true}`. */
inputMultiline: {
height: 'auto',
@@ -196,7 +192,6 @@ const InputBase = React.forwardRef(function InputBase(props, ref) {
renderSuffix,
rows,
rowsMax,
- select = false,
startAdornment,
type = 'text',
value: valueProp,
@@ -451,7 +446,6 @@ const InputBase = React.forwardRef(function InputBase(props, ref) {
[classes.disabled]: fcs.disabled,
[classes.inputTypeSearch]: type === 'search',
[classes.inputMultiline]: multiline,
- [classes.inputSelect]: select,
[classes.inputMarginDense]: fcs.margin === 'dense',
[classes.inputHiddenLabel]: fcs.hiddenLabel,
[classes.inputAdornedStart]: startAdornment,
@@ -606,10 +600,6 @@ InputBase.propTypes = {
* Maximum number of rows to display when multiline option is set to true.
*/
rowsMax: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),
- /**
- * Should be `true` when the component hosts a select.
- */
- select: PropTypes.bool,
/**
* Start `InputAdornment` for this component.
*/
diff --git a/packages/material-ui/src/NativeSelect/NativeSelect.js b/packages/material-ui/src/NativeSelect/NativeSelect.js
index 6c94a71a98a73b..15fbf5ca6af957 100644
--- a/packages/material-ui/src/NativeSelect/NativeSelect.js
+++ b/packages/material-ui/src/NativeSelect/NativeSelect.js
@@ -52,13 +52,19 @@ export const styles = theme => ({
textOverflow: 'ellipsis',
whiteSpace: 'nowrap',
overflow: 'hidden',
+ '&$filled': {
+ paddingRight: 24,
+ },
+ '&$outlined': {
+ paddingRight: 24,
+ },
},
/* Pseudo-class applied to the select component `disabled` class. */
disabled: {},
/* Styles applied to the icon component. */
icon: {
// We use a position absolute over a flexbox in order to forward the pointer events
- // to the input.
+ // to the input and to support wrapping tags..
position: 'absolute',
right: 0,
top: 'calc(50% - 12px)', // Center vertically
@@ -105,7 +111,6 @@ const NativeSelect = React.forwardRef(function NativeSelect(props, ref) {
// Most of the logic is implemented in `NativeSelectInput`.
// The `Select` component is a simple API wrapper to expose something better to play with.
inputComponent: NativeSelectInput,
- select: true,
inputProps: {
children,
classes,
diff --git a/packages/material-ui/src/OutlinedInput/OutlinedInput.d.ts b/packages/material-ui/src/OutlinedInput/OutlinedInput.d.ts
index eb2da9c7ae7913..a05549f52484ea 100644
--- a/packages/material-ui/src/OutlinedInput/OutlinedInput.d.ts
+++ b/packages/material-ui/src/OutlinedInput/OutlinedInput.d.ts
@@ -20,7 +20,6 @@ export type OutlinedInputClassKey =
| 'notchedOutline'
| 'input'
| 'inputMarginDense'
- | 'inputSelect'
| 'inputMultiline'
| 'inputAdornedStart'
| 'inputAdornedEnd';
diff --git a/packages/material-ui/src/OutlinedInput/OutlinedInput.js b/packages/material-ui/src/OutlinedInput/OutlinedInput.js
index 669786587bf5af..9855e4fef540e8 100644
--- a/packages/material-ui/src/OutlinedInput/OutlinedInput.js
+++ b/packages/material-ui/src/OutlinedInput/OutlinedInput.js
@@ -83,10 +83,6 @@ export const styles = theme => {
paddingTop: 10.5,
paddingBottom: 10.5,
},
- /* Styles applied to the `input` element if `select={true}`. */
- inputSelect: {
- paddingRight: 24,
- },
/* Styles applied to the `input` element if `multiline={true}`. */
inputMultiline: {
padding: 0,
diff --git a/packages/material-ui/src/Select/Select.js b/packages/material-ui/src/Select/Select.js
index df92490cff0efc..ccb1a733f6d49b 100644
--- a/packages/material-ui/src/Select/Select.js
+++ b/packages/material-ui/src/Select/Select.js
@@ -25,6 +25,7 @@ const Select = React.forwardRef(function Select(props, ref) {
input,
inputProps,
labelId,
+ labelWidth = 0,
MenuProps,
multiple = false,
native = false,
@@ -34,7 +35,6 @@ const Select = React.forwardRef(function Select(props, ref) {
renderValue,
SelectDisplayProps,
variant: variantProps = 'standard',
- labelWidth = 0,
...other
} = props;
@@ -61,7 +61,6 @@ const Select = React.forwardRef(function Select(props, ref) {
// Most of the logic is implemented in `SelectInput`.
// The `Select` component is a simple API wrapper to expose something better to play with.
inputComponent,
- select: true,
inputProps: {
children,
IconComponent,
diff --git a/packages/material-ui/src/Select/SelectInput.js b/packages/material-ui/src/Select/SelectInput.js
index dacf3cf85d82ac..8afedfc125a1df 100644
--- a/packages/material-ui/src/Select/SelectInput.js
+++ b/packages/material-ui/src/Select/SelectInput.js
@@ -33,9 +33,9 @@ const SelectInput = React.forwardRef(function SelectInput(props, ref) {
defaultValue,
disabled,
displayEmpty,
- labelId,
IconComponent,
inputRef: inputRefProp,
+ labelId,
MenuProps = {},
multiple,
name,