{ "$schema": "https://ui.shadcn.com/schema/registry-item.json", "name": "playful-todolist", "type": "registry:ui", "title": "Playful Todolist", "description": "Playful Todolist Component", "dependencies": [ "motion" ], "registryDependencies": [ "https://animate-ui.com/r/radix-checkbox" ], "files": [ { "path": "registry/ui-elements/playful-todolist/index.tsx", "content": "'use client';\n\nimport * as React from 'react';\nimport { motion, type Transition } from 'motion/react';\nimport { Label } from '@/components/ui/label';\nimport { Checkbox } from '@/components/animate-ui/radix/checkbox';\n\nconst checkboxItems = [\n {\n id: 1,\n label: 'Code in Assembly 💾',\n defaultChecked: false,\n },\n {\n id: 2,\n label: 'Present a bug as a feature 🪲',\n defaultChecked: false,\n },\n {\n id: 3,\n label: 'Push to prod on a Friday 🚀',\n defaultChecked: false,\n },\n];\n\nconst getPathAnimate = (isChecked: boolean) => ({\n pathLength: isChecked ? 1 : 0,\n opacity: isChecked ? 1 : 0,\n});\n\nconst getPathTransition = (isChecked: boolean): Transition => ({\n pathLength: { duration: 1, ease: 'easeInOut' },\n opacity: {\n duration: 0.01,\n delay: isChecked ? 0 : 1,\n },\n});\n\nfunction PlayfulTodolist() {\n const [checked, setChecked] = React.useState(\n checkboxItems.map((i) => !!i.defaultChecked),\n );\n\n return (\n