{"library":[{"id":"bill-split","name":"Split it fairly","about":"A shared bill with the last cent accounted for.","fields":"total: { type: 'number', label: 'Bill before tip', min: 0, max: 1000000, default: 42 }, tip: { type: 'number', label: 'Tip percent', min: 0, max: 100, default: 10 }, people: { type: 'number', label: 'People', min: 1, max: 100, default: 3 }, currency: { type: 'choice', label: 'Currency', options: [['EUR', 'EUR'], ['USD', 'USD'], ['GBP', 'GBP']], default: 'EUR' },","page":"https://rooms-edge.roomsapp.workers.dev/w/bill-split","embed":"https://rooms-edge.roomsapp.workers.dev/embed/widget/bill-split"},{"id":"checklist","name":"Checklist","about":"Tick things off right on the sticker. Everyone sees how far you got.","fields":"title: { type: 'text', label: 'Title', max: 24, default: 'Today' }, items: { type: 'lines', label: 'Items, one per line', max: 300, default: 'Glass of water\\nSketch for 20 min\\nPost progress' }, color: { type: 'color', default: 'black' },","page":"https://rooms-edge.roomsapp.workers.dev/w/checklist","embed":"https://rooms-edge.roomsapp.workers.dev/embed/widget/checklist"},{"id":"countdown","name":"Countdown","about":"Days until something good: a launch, a trip, a birthday.","fields":"title: { type: 'text', label: 'Until', max: 18, placeholder: 'Launch day', default: 'Launch' }, date: { type: 'date', label: 'Date', default: '2026-12-31' }, color: { type: 'color', default: 'pink' },","page":"https://rooms-edge.roomsapp.workers.dev/w/countdown","embed":"https://rooms-edge.roomsapp.workers.dev/embed/widget/countdown"},{"id":"days-till","name":"Days till","about":"How many days until the date you pick. Tap the date to change it.","fields":"title: { type: 'text', label: 'Till what', max: 20, default: 'Summer trip' }, date: { type: 'date', label: 'Date', default: '2026-12-24' },","page":"https://rooms-edge.roomsapp.workers.dev/w/days-till","embed":"https://rooms-edge.roomsapp.workers.dev/embed/widget/days-till"},{"id":"dinner-wheel","name":"Pass the apron","about":"A fair, visible cooking rotation for your crew.","fields":"names: { type: 'lines', label: 'Cooks, one display name per line (up to 12)', max: 240, default: 'Alex\\nSam\\nJo' },","page":"https://rooms-edge.roomsapp.workers.dev/w/dinner-wheel","embed":"https://rooms-edge.roomsapp.workers.dev/embed/widget/dinner-wheel"},{"id":"focus-timer","name":"Focus together","about":"A saved focus timer with a room-visible tally of finished sessions.","fields":"minutes: { type: 'number', label: 'Next session (minutes)', min: 1, max: 120, default: 25 },","page":"https://rooms-edge.roomsapp.workers.dev/w/focus-timer","embed":"https://rooms-edge.roomsapp.workers.dev/embed/widget/focus-timer"},{"id":"glow-routine","name":"Glow routine","about":"Your skincare or self-care steps, morning or night. Tick them off and keep your glow streak.","fields":"time: { type: 'choice', label: 'When', options: [['am', 'Morning'], ['pm', 'Night']], default: 'am' }, am: { type: 'lines', label: 'Morning steps', max: 200, default: 'Cleanse\\nVitamin C\\nMoisturise\\nSPF' }, pm: { type: 'lines', label: 'Night steps', max: 200, default: 'Remove makeup\\nCleanse\\nSerum\\nLip balm' },","page":"https://rooms-edge.roomsapp.workers.dev/w/glow-routine","embed":"https://rooms-edge.roomsapp.workers.dev/embed/widget/glow-routine"},{"id":"live-score","name":"Live score","about":"Your team’s match, live while it’s on and the result after. Watch it together in the room.","fields":"team: { type: 'text', label: 'Your team', max: 40, placeholder: 'Ajax', default: 'Ajax' }, vs: { type: 'text', label: 'Against (optional)', max: 40, placeholder: 'Liverpool', default: 'Liverpool' },","page":"https://rooms-edge.roomsapp.workers.dev/w/live-score","embed":"https://rooms-edge.roomsapp.workers.dev/embed/widget/live-score"},{"id":"moon","name":"Moon","about":"Tonight’s moon and how long until it’s full.","fields":"sky: { type: 'choice', label: 'Sky', options: [['night', 'Night'], ['paper', 'Paper']], default: 'night' },","page":"https://rooms-edge.roomsapp.workers.dev/w/moon","embed":"https://rooms-edge.roomsapp.workers.dev/embed/widget/moon"},{"id":"room-weather","name":"Inner weather","about":"Set a small, visible mood signal for the room.","fields":"title: { type: 'text', label: 'Title', max: 26, default: 'My inner weather' }, mood: { type: 'choice', label: 'Weather', options: MOODS.map(([key, label]) => [key, label]), default: 'clear' },","page":"https://rooms-edge.roomsapp.workers.dev/w/room-weather","embed":"https://rooms-edge.roomsapp.workers.dev/embed/widget/room-weather"},{"id":"tiny-garden","name":"Tiny garden","about":"A virtual plant that grows with daily check-ins and droops when you are away.","fields":"name: { type: 'text', label: 'Garden name', max: 26, default: 'Our little garden' },","page":"https://rooms-edge.roomsapp.workers.dev/w/tiny-garden","embed":"https://rooms-edge.roomsapp.workers.dev/embed/widget/tiny-garden"},{"id":"water","name":"Water break","about":"A room-visible daily glass log. Set your own goal.","fields":"goal: { type: 'number', label: 'Daily goal (glasses)', min: 1, max: 30, default: 8 },","page":"https://rooms-edge.roomsapp.workers.dev/w/water","embed":"https://rooms-edge.roomsapp.workers.dev/embed/widget/water"},{"id":"clock","name":"Clock","about":"Hands that move, in any city’s time zone.","fields":"tz: IANA time zone like 'Europe/Amsterdam' ('' = local); style: 'analog' | 'digital'; color: one of black blue pink teal sky coral violet olive","page":"https://rooms-edge.roomsapp.workers.dev/w/clock","embed":"https://rooms-edge.roomsapp.workers.dev/embed/widget/clock"},{"id":"weather","name":"Weather","about":"The sky right now in a city.","fields":"city: city name; unit: 'C' | 'F'; color","page":"https://rooms-edge.roomsapp.workers.dev/w/weather","embed":"https://rooms-edge.roomsapp.workers.dev/embed/widget/weather"},{"id":"chart","name":"Chart","about":"A price line for a stock or a coin.","fields":"market: 'stock' | 'crypto'; symbol: 'AAPL', '^GSPC', 'EURUSD=X' or a CoinGecko id like 'bitcoin'; color","page":"https://rooms-edge.roomsapp.workers.dev/w/chart","embed":"https://rooms-edge.roomsapp.workers.dev/embed/widget/chart"},{"id":"api","name":"Live value","about":"One number or word from any public JSON API, refreshed every few minutes.","fields":"url: https JSON API; path: 'a.b.0'; label; unit; every: minutes; color","page":"https://rooms-edge.roomsapp.workers.dev/w/api","embed":"https://rooms-edge.roomsapp.workers.dev/embed/widget/api"},{"id":"calendar","name":"Calendar","about":"Today’s date, tear-off style.","fields":"tz; color","page":"https://rooms-edge.roomsapp.workers.dev/w/calendar","embed":"https://rooms-edge.roomsapp.workers.dev/embed/widget/calendar"},{"id":"teddy","name":"Teddy clock","about":"A teddy with a clock in its tummy.","fields":"none needed","page":"https://rooms-edge.roomsapp.workers.dev/w/teddy","embed":"https://rooms-edge.roomsapp.workers.dev/embed/widget/teddy"}],"made":[]}