import{P as e}from"./p-e4c4ea35.js";import{I as r}from"./p-abd7aeaa.js";class t extends r{constructor(e){super(),this.config=e}evaluate(r){if(!this.isAcceptedInputType(r))throw new Error(`Invalid date value ${r} for mode ${this.config.mode}`);let t;switch(this.config.mode){case"single":t=e(r);break;case"range":t=Array.isArray(r)&&2===r.length&&r.every(e)}return{isValid:t,message:t?"":"This field is required"}}canEvaluate(e,r){return r?this.isAcceptedInputType(e)&&!r.disabled&&r.visible:this.isAcceptedInputType(e)}shouldShowError(e){return!e.disabled&&e.visible&&(e.touched||e.modified)}isAcceptedInputType(e){if(null==e)return!0;if(!this.config.mode)throw new Error(`Unexpected type of mode: ${this.config.mode}`);switch(this.config.mode){case"single":return"string"==typeof e;case"range":return Array.isArray(e);default:return!1}}}export{t as D}