[{"data":1,"prerenderedAt":98},["ShallowReactive",2],{"project:\u002Fprojects\u002Fvue-countdown-composable":3},{"path":4,"title":5,"description":6,"date":7,"status":8,"stack":9,"featured":14,"repo":15,"url":16,"body":17},"\u002Fprojects\u002Fvue-countdown-composable","vue-countdown-composable","Easy to use Vue 3 countdown composables. Date and duration based, TypeScript ready, SSR friendly, and Vapor compatible.","2025-11-01","live",[10,11,12,13],"Vue 3","TypeScript","Vitest","VitePress",true,"https:\u002F\u002Fgithub.com\u002Fmicheldpcarlos\u002Fvue-countdown-composable","https:\u002F\u002Fmicheldpcarlos.github.io\u002Fvue-countdown-composable\u002F",{"type":18,"value":19,"toc":91},"minimark",[20,25,42,77,81,84,88],[21,22,24],"h2",{"id":23},"what-it-does","What it does",[26,27,28,29,33,34,37,38,41],"p",{},"A small npm library with three composables: ",[30,31,32],"code",{},"useDateCountdown"," for counting down to a moment, ",[30,35,36],{},"useNumberCountdown"," for a duration, and ",[30,39,40],{},"useStopwatch"," for counting up.",[43,44,45,53,59,65,71],"ul",{},[46,47,48,52],"li",{},[49,50,51],"strong",{},"Simple, flexible API"," with sensible defaults and full control when you need it.",[46,54,55,58],{},[49,56,57],{},"Type strong",", written in TypeScript with complete declarations.",[46,60,61,64],{},[49,62,63],{},"Vapor compatible",", built on pure reactivity APIs so it works in Vapor and virtual DOM components alike.",[46,66,67,70],{},[49,68,69],{},"Leak free",", timers are cleaned up when the owning scope is disposed.",[46,72,73,76],{},[49,74,75],{},"SSR friendly",", nothing touches the window until the client mounts.",[21,78,80],{"id":79},"why-it-exists","Why it exists",[26,82,83],{},"Every project eventually needs a countdown, and every hand-rolled one leaks an interval or drifts. I wrote it once, properly, and published it.",[21,85,87],{"id":86},"release-process","Release process",[26,89,90],{},"A release is a version bump merged to main. The documentation site with live demos is built with VitePress and deployed to GitHub Pages.",{"title":92,"searchDepth":93,"depth":93,"links":94},"",2,[95,96,97],{"id":23,"depth":93,"text":24},{"id":79,"depth":93,"text":80},{"id":86,"depth":93,"text":87},1790867389467]