@lion/form-core
Version:
Form-core contains all essential building blocks for creating form fields and fieldsets
45 lines (44 loc) • 1.57 kB
TypeScript
/**
* @typedef {import('../validate/Validator').Validator} Validator
* @typedef {import('@lion/core').TemplateResult} TemplateResult
* @typedef {Object} messageMap
* @property {string | Node} message
* @property {string} type
* @property {Validator} [validator]
*/
/**
* @desc Takes care of accessible rendering of error messages
* Should be used in conjunction with FormControl having ValidateMixin applied
*/
export class LionValidationFeedback extends LitElement {
static get properties(): {
feedbackData: {
attribute: boolean;
};
};
/**
* @overridable
* @param {Object} opts
* @param {string | Node | TemplateResult } opts.message message or feedback node or TemplateResult
* @param {string} [opts.type]
* @param {Validator} [opts.validator]
* @protected
*/
protected _messageTemplate({ message }: {
message: string | Node | TemplateResult;
type?: string | undefined;
validator?: import("../validate/Validator").Validator | undefined;
}): string | Node | TemplateResult;
currentType: string | undefined;
removeMessage: number | undefined;
/** @type {messageMap[]} */
feedbackData: messageMap[] | undefined;
}
export type Validator = import('../validate/Validator').Validator;
export type TemplateResult = import('@lion/core').TemplateResult;
export type messageMap = {
message: string | Node;
type: string;
validator?: import("../validate/Validator").Validator | undefined;
};
import { LitElement } from "@lion/core";