A range from what is flowing, never a countdown from a setting. Time to exhaustion is the remaining amount divided by the rate it is being used, and the rate is where estimates lie. The time left is drawn as a band from the fastest recent rate to the slowest, so unsteady use widens it, with nothing in the middle to read as the answer. A rate that is only set or commanded gives no estimate at all, because a dial setting is not what is flowing. Too few samples, no remaining amount, or no use at all are each refused in their own words, and the source of the rate is always printed.
import 'overscan'
import 'overscan/overscan.css'
<ov-endurance id="live-endurance"></ov-endurance>import { OvEndurance } from 'overscan/react'
<OvEndurance id="live-endurance" />import { OvEndurance } from 'overscan/vue'
<OvEndurance id="live-endurance" />import OvEndurance from 'overscan/svelte/OvEndurance.svelte'
<OvEndurance id="live-endurance" />import 'overscan'
import 'overscan/overscan.css'
<ov-endurance src="models/endurance-steady.json"></ov-endurance>import { OvEndurance } from 'overscan/react'
<OvEndurance src="models/endurance-steady.json" />import { OvEndurance } from 'overscan/vue'
<OvEndurance src="models/endurance-steady.json" />import OvEndurance from 'overscan/svelte/OvEndurance.svelte'
<OvEndurance src="models/endurance-steady.json" />import 'overscan'
import 'overscan/overscan.css'
<ov-endurance src="models/endurance-unsteady.json"></ov-endurance>import { OvEndurance } from 'overscan/react'
<OvEndurance src="models/endurance-unsteady.json" />import { OvEndurance } from 'overscan/vue'
<OvEndurance src="models/endurance-unsteady.json" />import OvEndurance from 'overscan/svelte/OvEndurance.svelte'
<OvEndurance src="models/endurance-unsteady.json" />import 'overscan'
import 'overscan/overscan.css'
<ov-endurance src="models/endurance-set.json"></ov-endurance>import { OvEndurance } from 'overscan/react'
<OvEndurance src="models/endurance-set.json" />import { OvEndurance } from 'overscan/vue'
<OvEndurance src="models/endurance-set.json" />import OvEndurance from 'overscan/svelte/OvEndurance.svelte'
<OvEndurance src="models/endurance-set.json" />