@sandlada/mdc
Version:
@sandlada/mdc is an open source component library that follows the Material Design 3 design specifications.
8 lines • 1.31 kB
JavaScript
import"../../node_modules/lit/index.js";import{internals as e}from"./element-internals.js";import"../form/form-associated.js";
/**
* @license
* Copyright 2023 Google LLC
* SPDX-License-Identifier: Apache-2.0
*/
const t=Symbol(`createValidator`),n=Symbol(`getValidityAnchor`),r=Symbol(`privateValidator`),i=Symbol(`privateSyncValidity`),a=Symbol(`privateCustomValidationMessage`);function o(o){class s extends o{constructor(...e){super(...e),this[a]=``}get validity(){return this[i](),this[e].validity}get validationMessage(){return this[i](),this[e].validationMessage}get willValidate(){return this[i](),this[e].willValidate}checkValidity(){return this[i](),this[e].checkValidity()}reportValidity(){return this[i](),this[e].reportValidity()}setCustomValidity(e){this[a]=e,this[i]()}requestUpdate(e,t,n){super.requestUpdate(e,t,n),this[i]()}firstUpdated(e){super.firstUpdated(e),this[i]()}[i](){this[r]||(this[r]=this[t]());let{validity:i,validationMessage:o}=this[r].getValidity(),s=!!this[a],c=this[a]||o;this[e].setValidity({...i,customError:s},c,this[n]()??void 0)}[t](){throw Error(`Implement [createValidator]`)}[n](){throw Error(`Implement [getValidityAnchor]`)}}return s}export{t as createValidator,n as getValidityAnchor,o as mixinConstraintValidation};
//# sourceMappingURL=constraint-validation.js.map