UNPKG

@material/web

Version:
33 lines 1.07 kB
/** * @license * Copyright 2023 Google LLC * SPDX-License-Identifier: Apache-2.0 */ import { html, render } from 'lit'; import { Validator } from './validator.js'; /** * A validator that provides constraint validation that emulates `<select>` * validation. */ export class SelectValidator extends Validator { computeValidity(state) { if (!this.selectControl) { // Lazily create the platform select this.selectControl = document.createElement('select'); } render(html `<option value=${state.value}></option>`, this.selectControl); this.selectControl.value = state.value; this.selectControl.required = state.required; return { validity: this.selectControl.validity, validationMessage: this.selectControl.validationMessage, }; } equals(prev, next) { return prev.value === next.value && prev.required === next.required; } copy({ value, required }) { return { value, required }; } } //# sourceMappingURL=select-validator.js.map