import HTMLElement from '../html-element/HTMLElement.js'; import * as PropertySymbol from '../../PropertySymbol.js'; import HTMLCollection from '../element/HTMLCollection.js'; import HTMLOptionElement from '../html-option-element/HTMLOptionElement.js'; import ParentNodeUtility from '../parent-node/ParentNodeUtility.js'; /** * HTMLDataListElement * * @see https://developer.mozilla.org/en-US/docs/Web/API/HTMLDataListElement */ export default class HTMLDataListElement extends HTMLElement { public [PropertySymbol.options]: HTMLCollection | null = null; /** * Returns options. * * @returns Options. */ public get options(): HTMLCollection { if (!this[PropertySymbol.options]) { this[PropertySymbol.options] = >( ParentNodeUtility.getElementsByTagName(this, 'OPTION') ); } return this[PropertySymbol.options]; } }