react-native-ui-lib
Version:
<p align="center"> <img src="https://user-images.githubusercontent.com/1780255/105469025-56759000-5ca0-11eb-993d-3568c1fd54f4.png" height="250px" style="display:block"/> </p> <p align="center">UI Toolset & Components Library for React Native</p> <p a
33 lines (31 loc) • 1.09 kB
JavaScript
import { Colors } from "../../style";
export const hasInvalidChip = chips => {
return chips.filter(chip => chip.invalid === true)[0] !== undefined;
};
export const getValidationBasedColor = (chips, defaultChip) => {
const dismissColor = defaultChip?.dismissColor || Colors.red30;
return hasInvalidChip(chips) ? dismissColor : Colors.primary;
};
export const getCounterTextColor = (stateChips, props) => {
const {
maxLength
} = props;
if (isDisabled(props)) {
return Colors.grey50;
}
return maxLength && stateChips.length >= maxLength ? Colors.red30 : Colors.grey30;
};
export const getCounterText = (count, maxLength) => {
return `${Math.min(count, maxLength)} / ${maxLength}`;
};
export const getChipDismissColor = (chip, isSelected, defaultChipProps) => {
const dismissColor = defaultChipProps?.dismissColor || Colors.white;
return !chip.invalid ? dismissColor : isSelected ? Colors.red10 : Colors.red30;
};
export const isDisabled = props => {
const {
disableTagRemoval,
editable
} = props;
return disableTagRemoval || editable === false;
};