@furystack/shades-common-components
Version:
Common UI components for FuryStack Shades
15 lines • 776 B
JavaScript
/**
* Computes validation state from common markdown field props.
* Shared between MarkdownInput and MarkdownEditor to keep the logic in one place.
*/
export const resolveValidationState = (options) => {
const validationResult = options.getValidationResult?.({ value: options.value });
const isRequired = !!options.required && !options.value;
const isInvalid = validationResult?.isValid === false || isRequired;
const helperNode = (validationResult?.isValid === false && validationResult?.message) ||
(isRequired && 'Value is required') ||
options.getHelperText?.({ value: options.value, validationResult }) ||
'';
return { validationResult, isRequired, isInvalid, helperNode };
};
//# sourceMappingURL=markdown-validation.js.map