import{d as q,u as B,o as O,w as y,a as M,c as E,n as T,b as V,r as x,e as o,g as z,f as A,h as s,i as J,j as L,p as P,l as U,k as W,m as D,q as g,s as G,t as h,v as H}from"./index-BKaqQGb-.js";import K from"./index-CzWhSvDG.js";const X=q({name:"ShwfedBlockAnimatedNumberItem",__name:"item",props:{item:{}},setup(b){const n=b,j=G(),a=x(void 0),m=x(0);function u(){return D(j)}function S(e){if(typeof e=="number"&&Number.isFinite(e))return e;if(typeof e=="string"&&e.trim()!==""){const t=Number(e);return Number.isFinite(t)?t:0}return 0}const d=o(()=>a.value===void 0?g():H(a.value));function v(e){if(!e)return"";try{const t=h(s(e,{...u(),json:d.value}));return t==null?"":String(t)}catch{return""}}const w=o(()=>v(n.item.prefix)),_=o(()=>v(n.item.suffix));function C(e){if(e)try{const t=h(s(e,{...u(),json:d.value}));return t==null?void 0:typeof t=="string"||typeof t=="object"?t:String(t)}catch{return}}const F=o(()=>C(n.item.style));async function r(){const e=n.item.dataSource,t=u(),N=z(function*(){let i=g();e.request&&(i=yield*A(yield*s(e.request,t)));const k=yield*s(e.value,{...t,json:i});return{json:J(i),value:k}});try{const i=await L(P(N,U));a.value=i.json,m.value=S(i.value)}catch(i){console.warn("[shwfed-animated-number] fetch failed",i)}}const l=o(()=>(n.item.pollingInterval??0)>0),I=o(()=>Math.max(1,n.item.pollingInterval??1)*1e3),c=W(),{pause:p,resume:f}=B(()=>{r()},I,{immediate:!1});return O(()=>{r(),l.value&&c.value&&f()}),y(c,e=>{l.value&&(e?(r(),f()):p())}),y(()=>[n.item.dataSource.request??"",n.item.dataSource.value,n.item.pollingInterval??0].join("|"),()=>{r(),l.value&&c.value?f():p()}),(e,t)=>(M(),E(V(K),{value:m.value,prefix:w.value,suffix:_.value,style:T(F.value)},null,8,["value","prefix","suffix","style"]))}});export{X as default};
