Sha256: 691e0f55b9541ccca83b0278bfbdd4bca7730924f0d1935dab39f7c3ddd82bea
Contents?: true
Size: 1.83 KB
Versions: 26
Compression:
Stored size: 1.83 KB
Contents
"use strict"; const HTMLElementImpl = require("./HTMLElement-impl").implementation; const { getLabelsForLabelable } = require("../helpers/form-controls"); const { parseFloatingPointNumber } = require("../helpers/strings"); class HTMLProgressElementImpl extends HTMLElementImpl { constructor(globalObject, args, privateData) { super(globalObject, args, privateData); this._labels = null; } get _isDeterminate() { return this.hasAttributeNS(null, "value"); } // https://html.spec.whatwg.org/multipage/form-elements.html#concept-progress-value get _value() { const valueAttr = this.getAttributeNS(null, "value"); if (valueAttr !== null) { const parsedValue = parseFloatingPointNumber(valueAttr); if (parsedValue !== null && parsedValue > 0) { return parsedValue; } } return 0; } // https://html.spec.whatwg.org/multipage/form-elements.html#concept-progress-current-value get _currentValue() { const value = this._value; return value > this._maximumValue ? this._maximumValue : value; } // https://html.spec.whatwg.org/multipage/form-elements.html#concept-progress-maximum get _maximumValue() { const maxAttr = this.getAttributeNS(null, "max"); if (maxAttr !== null) { const parsedMax = parseFloatingPointNumber(maxAttr); if (parsedMax !== null && parsedMax > 0) { return parsedMax; } } return 1.0; } get value() { if (this._isDeterminate) { return this._currentValue; } return 0; } set value(value) { this.setAttributeNS(null, "value", value); } get position() { if (!this._isDeterminate) { return -1; } return this._currentValue / this._maximumValue; } get labels() { return getLabelsForLabelable(this); } } module.exports = { implementation: HTMLProgressElementImpl };
Version data entries
26 entries across 26 versions & 1 rubygems