Task widget
An iOS-inspired glass widget with a live clock, weather and task cards you can tick off — on its own radius or the Calamansi corner.
9:41
AMToday's Focus
1/6Click any task card to focus and toggle completion. Scroll the tasks deck to smoothly animate away the overflow blur and expand the progress indicator. Inspired by Jay Dwivedi's design.
Installation
npx shadcn@latest add fujiDevv/calamansi-ui/task-widgetHow to use
import { TaskWidget } from "@/components/ui/task-widget"export function Demo() {return (<TaskWidgetvariant="calamansi"corner="rounded"title="Today's Priorities"/>)}
Props
Options you can pass to customize this component.
tasksoptionalTaskItem[]Controlled array of task items with id, title, completed, and icon.
defaultTasksoptionalTaskItem[]Initial task items when using uncontrolled state.
onTaskToggleoptional(taskId: string | number, completed: boolean) => voidCallback fired when a task checkbox is pressed.
titleoptionalstringSection header above the task cards.
weatheroptional{ condition?: string; temperature?: string; icon?: ReactNode }Weather indicator condition and icon.
showClockoptionalbooleanToggle visibility of the large live digital clock.
timeFormatoptional12h24hDisplay time in 12-hour or 24-hour mode.
variantoptionalcalamansislatecitrusblackGlass tint background gradient and specular accents.
corneroptionalroundedsquircleShell corner. "rounded" is the widget's own large radius, the shape it shipped with; "squircle" swaps the surface onto the kit's clipped squircle layer, which repaints the lip and the inset highlights along the new curve.
classNameoptionalstringExtra classes merged onto the widget container.
Dependencies
Credits
- •Design inspired by Jay Dwivedi (https://sprrrint.com/jaydwivedi)
License & Usage
- •Free to use and modify in personal and commercial projects.
- •Attribution to Calamansi UI is appreciated when using a component.
- •Please do not resell the components as your own kit.