diff --git a/packages/components/src/mobile/bottom-sheet-select-control/index.native.js b/packages/components/src/mobile/bottom-sheet-select-control/index.native.js index a379b950a5145c..93df1217206364 100644 --- a/packages/components/src/mobile/bottom-sheet-select-control/index.native.js +++ b/packages/components/src/mobile/bottom-sheet-select-control/index.native.js @@ -71,7 +71,7 @@ const BottomSheetSelectControl = ( { ) } disabled={ disabled } > - + { disabled ? null : } } showSheet={ showSubSheet } diff --git a/packages/components/src/mobile/bottom-sheet-text-control/index.native.js b/packages/components/src/mobile/bottom-sheet-text-control/index.native.js index be7ddd8e9085e2..54a678b1ae0a14 100644 --- a/packages/components/src/mobile/bottom-sheet-text-control/index.native.js +++ b/packages/components/src/mobile/bottom-sheet-text-control/index.native.js @@ -65,7 +65,7 @@ const BottomSheetTextControl = ( { placeholder={ cellPlaceholder || placeholder || '' } disabled={ disabled } > - + { disabled ? null : } } showSheet={ showSubSheet } diff --git a/packages/components/src/mobile/bottom-sheet/cell.native.js b/packages/components/src/mobile/bottom-sheet/cell.native.js index ec359f7a9a4952..47c288b1311594 100644 --- a/packages/components/src/mobile/bottom-sheet/cell.native.js +++ b/packages/components/src/mobile/bottom-sheet/cell.native.js @@ -26,6 +26,7 @@ import { withPreferredColorScheme } from '@wordpress/compose'; import styles from './styles.scss'; import platformStyles from './cellStyles.scss'; import TouchableRipple from './ripple'; +import LockIcon from './lock-icon'; const isIOS = Platform.OS === 'ios'; class BottomSheetCell extends Component { @@ -93,6 +94,7 @@ class BottomSheetCell extends Component { accessibilityRole, disabled = false, disabledStyle = styles.cellDisabled, + showLockIcon = true, activeOpacity, onPress, onLongPress, @@ -374,6 +376,7 @@ class BottomSheetCell extends Component { ] } > { children } + { disabled && showLockIcon && ( + + + + ) } { help && ( diff --git a/packages/components/src/mobile/bottom-sheet/color-cell.native.js b/packages/components/src/mobile/bottom-sheet/color-cell.native.js index 2783c23ce21def..76cdc56930805a 100644 --- a/packages/components/src/mobile/bottom-sheet/color-cell.native.js +++ b/packages/components/src/mobile/bottom-sheet/color-cell.native.js @@ -11,7 +11,7 @@ import Cell from './cell'; import styles from './styles.scss'; export default function BottomSheetColorCell( props ) { - const { color, withColorIndicator = true, ...cellProps } = props; + const { color, withColorIndicator = true, disabled, ...cellProps } = props; return ( { withColorIndicator && color && ( ) } - + { disabled ? null : } ); } diff --git a/packages/components/src/mobile/bottom-sheet/lock-icon/index.native.js b/packages/components/src/mobile/bottom-sheet/lock-icon/index.native.js new file mode 100644 index 00000000000000..2d281e6bc89eaf --- /dev/null +++ b/packages/components/src/mobile/bottom-sheet/lock-icon/index.native.js @@ -0,0 +1,19 @@ +/** + * WordPress dependencies + */ +import { Icon, lock } from '@wordpress/icons'; +import { usePreferredColorSchemeStyle } from '@wordpress/compose'; + +/** + * Internal dependencies + */ +import styles from './styles.scss'; + +export default function LockIcon() { + const iconStyle = usePreferredColorSchemeStyle( + styles.icon, + styles[ 'icon--dark' ] + ); + + return ; +} diff --git a/packages/components/src/mobile/bottom-sheet/lock-icon/styles.native.scss b/packages/components/src/mobile/bottom-sheet/lock-icon/styles.native.scss new file mode 100644 index 00000000000000..fccde19eb1c21f --- /dev/null +++ b/packages/components/src/mobile/bottom-sheet/lock-icon/styles.native.scss @@ -0,0 +1,8 @@ +.icon { + color: $gray-dark; + margin-left: 6px; +} + +.icon--dark { + color: $gray-light; +} diff --git a/packages/components/src/mobile/bottom-sheet/radio-cell.native.js b/packages/components/src/mobile/bottom-sheet/radio-cell.native.js index db9793ff76e0b5..2700cb0f923882 100644 --- a/packages/components/src/mobile/bottom-sheet/radio-cell.native.js +++ b/packages/components/src/mobile/bottom-sheet/radio-cell.native.js @@ -10,7 +10,7 @@ import { usePreferredColorSchemeStyle } from '@wordpress/compose'; import Cell from './cell'; import styles from './styles.scss'; -export default function BottomSheetColorCell( props ) { +export default function BottomSheetRadioCell( props ) { const { selected, ...cellProps } = props; const selectedIconStyle = usePreferredColorSchemeStyle( @@ -29,6 +29,7 @@ export default function BottomSheetColorCell( props ) { } editable={ false } value={ '' } + showLockIcon={ selected } > { selected && ( diff --git a/packages/components/src/mobile/bottom-sheet/range-cell.native.js b/packages/components/src/mobile/bottom-sheet/range-cell.native.js index 592acbd6810b51..fa4780b00eee82 100644 --- a/packages/components/src/mobile/bottom-sheet/range-cell.native.js +++ b/packages/components/src/mobile/bottom-sheet/range-cell.native.js @@ -15,6 +15,7 @@ import { withPreferredColorScheme } from '@wordpress/compose'; * Internal dependencies */ import Cell from './cell'; +import LockIcon from './lock-icon'; import styles from './range-cell.scss'; import RangeTextInput from './range-text-input'; import { toFixed } from '../utils'; @@ -219,6 +220,7 @@ class BottomSheetRangeCell extends Component { accessible={ false } valueStyle={ styles.valueStyle } disabled={ disabled } + showLockIcon={ false } > { preview } @@ -260,6 +262,7 @@ class BottomSheetRangeCell extends Component { { children } ) } + { disabled && } diff --git a/packages/components/src/mobile/bottom-sheet/styles.native.scss b/packages/components/src/mobile/bottom-sheet/styles.native.scss index ccec337a35edcd..5292b04c13731a 100644 --- a/packages/components/src/mobile/bottom-sheet/styles.native.scss +++ b/packages/components/src/mobile/bottom-sheet/styles.native.scss @@ -1,5 +1,7 @@ //Bottom Sheet +$cell-disable-opacity: 0.38; + .bottomModal { justify-content: flex-end; margin: 0; @@ -288,11 +290,11 @@ } .placeholderColorDisabled { - color: lighten($gray, 20%); + color: rgba($gray-dark, $cell-disable-opacity); } .placeholderColorDisabledDark { - color: lighten($gray-dark, 10%); + color: rgba($white, $cell-disable-opacity); } .applyButton { @@ -327,5 +329,5 @@ } .cellDisabled { - opacity: 0.3; + opacity: $cell-disable-opacity; }