<.actionphx-click={Corex.Timer.state("timer-api-state-client")}class="button ui-size-sm"> Read state
</.action><.timerid="timer-api-state-client"countdownstart_ms={60_000}target_ms={0}auto_start={false}class="timer"><:start_trigger><.heroiconname="hero-play"/></:start_trigger><:pause_trigger><.heroiconname="hero-pause"/></:pause_trigger><:resume_trigger><.heroiconname="hero-play"/></:resume_trigger><:reset_trigger><.heroiconname="hero-arrow-path"/></:reset_trigger></.timer>
State (server)
<.actionphx-click="api_timer_state_server"class="button ui-size-sm"> Read state
</.action><.timerid="timer-api-state-server"countdownstart_ms={60_000}target_ms={0}auto_start={false}class="timer"><:start_trigger><.heroiconname="hero-play"/></:start_trigger><:pause_trigger><.heroiconname="hero-pause"/></:pause_trigger><:resume_trigger><.heroiconname="hero-play"/></:resume_trigger><:reset_trigger><.heroiconname="hero-arrow-path"/></:reset_trigger></.timer>
<.actionphx-click={JS.dispatch("corex:timer:state",to:"#timer-api-state-js",detail:%{},bubbles:false)}class="button ui-size-sm"> Read state
</.action><.timerid="timer-api-state-js"countdownstart_ms={60_000}target_ms={0}auto_start={false}class="timer"><:start_trigger><.heroiconname="hero-play"/></:start_trigger><:pause_trigger><.heroiconname="hero-pause"/></:pause_trigger><:resume_trigger><.heroiconname="hero-play"/></:resume_trigger><:reset_trigger><.heroiconname="hero-arrow-path"/></:reset_trigger></.timer>
constel=document.getElementById("timer-api-state-js");el?.addEventListener("timer-state",(event: Event)=>{console.log((event as CustomEvent).detail);
});el?.dispatchEvent(newCustomEvent("corex:timer:state",{bubbles:false,detail:{}}));