@janiscommerce/ui-native
Version:
components library for Janis app
45 lines (44 loc) • 1.43 kB
JavaScript
import { palette } from '../../../../theme/palette';
export const getInputInitialState = (value) => {
if (!value) {
return 'incomplete';
}
return 'complete';
};
export const getBorderColor = ({ inputState, hasMessage, status, inputColor, }) => {
if (inputState === 'focus') {
return inputColor;
}
if (hasMessage) {
const colorPalette = palette[status];
if ('main' in colorPalette) {
return colorPalette.main;
}
return palette.error.main;
}
return palette.grey[500];
};
export const getLabelColor = ({ disabled, readOnly, inputColor, inputState, statusMessage, status, }) => {
if (disabled || readOnly) {
return palette.grey[500];
}
if (inputState === 'focus') {
return inputColor;
}
if (statusMessage) {
const colorPalette = palette[status];
if ('main' in colorPalette) {
return colorPalette.main;
}
}
return palette.grey[500];
};
export const raiseLabel = ({ disabled, hasMessage, inputState }) => !disabled && (inputState !== 'incomplete' || !!hasMessage);
export const showStatusMessage = (hasMessage, inputState) => !!hasMessage && inputState !== 'focus';
export const getStatusMessageColor = (status) => {
const colorPalette = palette[status];
if ('main' in colorPalette) {
return colorPalette.main;
}
return palette.error.main;
};