diff --git a/packages/@sanity/base/src/styles/forms/text-input.css b/packages/@sanity/base/src/styles/forms/text-input.css index 641754f258b..ebb064812e7 100644 --- a/packages/@sanity/base/src/styles/forms/text-input.css +++ b/packages/@sanity/base/src/styles/forms/text-input.css @@ -17,6 +17,10 @@ @nest &:disabled { opacity: 0.5; } + + @nest &:read-only { + opacity: 0.5; + } } .textInput { @@ -26,17 +30,19 @@ box-shadow: var(--input-box-shadow); @nest &:not(:disabled) { - @nest &:hover { - box-shadow: var(--input-box-shadow--hover); - } + @nest &:not(:read-only) { + @nest &:hover { + box-shadow: var(--input-box-shadow--hover); + } - @nest &:focus, &:focus-within { - /* border-color: var(--input-border-color-focus); */ - box-shadow: var(--input-box-shadow--focus); - } + @nest &:focus, &:focus-within { + /* border-color: var(--input-border-color-focus); */ + box-shadow: var(--input-box-shadow--focus); + } - @nest &:active { - /* border-color: var(--input-border-color-active); */ + @nest &:active { + /* border-color: var(--input-border-color-active); */ + } } } } diff --git a/packages/@sanity/base/src/styles/forms/textarea.css b/packages/@sanity/base/src/styles/forms/textarea.css index 9bead500810..baa68b76da3 100644 --- a/packages/@sanity/base/src/styles/forms/textarea.css +++ b/packages/@sanity/base/src/styles/forms/textarea.css @@ -27,4 +27,8 @@ @nest &:disabled { background-color: var(--input-bg-disabled); } + + @nest &:read-only { + opacity: 0.5; + } } diff --git a/packages/@sanity/components/src/radiobutton/styles/RadioButtonDefault.css b/packages/@sanity/components/src/radiobutton/styles/RadioButtonDefault.css index 69debfa8cf4..dd2c9fb82af 100644 --- a/packages/@sanity/components/src/radiobutton/styles/RadioButtonDefault.css +++ b/packages/@sanity/components/src/radiobutton/styles/RadioButtonDefault.css @@ -33,6 +33,11 @@ composes: root; } +.isDisabled { + opacity: 0.5; + pointer-events: none; +} + .input { line-height: var(--radio-label-height); @@ -45,10 +50,6 @@ opacity: 0; appearance: none; border: none; - - @nest &:disabled { - opacity: 0.2; - } } .circleOutline { diff --git a/packages/@sanity/components/src/selects/DefaultSelect.js b/packages/@sanity/components/src/selects/DefaultSelect.js index aa342b55c4d..939434e4cfe 100644 --- a/packages/@sanity/components/src/selects/DefaultSelect.js +++ b/packages/@sanity/components/src/selects/DefaultSelect.js @@ -12,6 +12,7 @@ export default class DefaultSelect extends React.Component { onBlur: PropTypes.func, hasFocus: PropTypes.bool, disabled: PropTypes.bool, + readOnly: PropTypes.bool, items: PropTypes.arrayOf( PropTypes.shape({ title: PropTypes.string, @@ -23,6 +24,7 @@ export default class DefaultSelect extends React.Component { onChange() {}, onBlur() {}, onFocus() {}, + readOnly: false, hasError: false, hasFocus: false, value: {}, @@ -44,26 +46,27 @@ export default class DefaultSelect extends React.Component { } render() { - const {hasError, items, value, disabled, hasFocus, ...rest} = this.props + const {hasError, items, value, disabled, hasFocus, readOnly, ...rest} = this.props return ( -