{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "z-onboarding-answer-list",
  "title": "Z Onboarding Answer List",
  "dependencies": [],
  "devDependencies": [],
  "registryDependencies": [
    "https://ui.orchid.ai/r/orchid-theme.json",
    "https://ui.orchid.ai/r/z-onboarding-answer-item.json",
    "https://ui.orchid.ai/r/z-onboarding-blur-card.json"
  ],
  "files": [
    {
      "path": "registry/ui/orchid/spectrum/molecules/z-onboarding-answer-list/z-onboarding-answer-list.tsx",
      "content": "\"use client\";\nimport { useEffect } from 'react';\nimport ZOnboardingAnswerItem from \"../../atoms/z-onboarding-answer-item/z-onboarding-answer-item\";\nimport ZOnboardingBlurCard from \"../z-onboarding-blur-card/z-onboarding-blur-card\";\nexport interface ZOnboardingAnswerOption {\n    id: string;\n    label: string;\n    shortcut?: string;\n}\nexport interface ZOnboardingAnswerListProps {\n    options: ZOnboardingAnswerOption[];\n    value: string | string[];\n    onChange: (value: string | string[]) => void;\n    multiSelect?: boolean;\n    className?: string;\n}\nexport default function ZOnboardingAnswerList({ options, value, onChange, multiSelect = false, className, }: ZOnboardingAnswerListProps) {\n    const selectedIds = Array.isArray(value) ? value : [value];\n    const handleSelect = (optionId: string) => {\n        if (multiSelect) {\n            const newValue = selectedIds.includes(optionId)\n                ? selectedIds.filter((id) => id !== optionId)\n                : [...selectedIds, optionId];\n            onChange(newValue);\n        }\n        else {\n            onChange(optionId);\n        }\n    };\n    useEffect(() => {\n        const handleKeyDown = (e: KeyboardEvent) => {\n            const num = parseInt(e.key);\n            if (num >= 1 && num <= 9 && num <= options.length) {\n                e.preventDefault();\n                const index = num - 1;\n                handleSelect(options[index].id);\n            }\n        };\n        window.addEventListener('keydown', handleKeyDown);\n        return () => window.removeEventListener('keydown', handleKeyDown);\n    }, [options, handleSelect]);\n    return (<ZOnboardingBlurCard className={className}>\n      {options.map((option, index) => {\n            const shortcut = index < 9 ? (index + 1).toString() : '';\n            const isSelected = selectedIds.includes(option.id);\n            return (<div key={option.id} className=\"border-neutral border-b last:border-b-0\">\n            <ZOnboardingAnswerItem label={option.label} shortcut={shortcut} selected={isSelected} onSelect={() => handleSelect(option.id)}/>\n          </div>);\n        })}\n    </ZOnboardingBlurCard>);\n}\n",
      "type": "registry:ui",
      "target": "@ui/orchid/spectrum/molecules/z-onboarding-answer-list/z-onboarding-answer-list.tsx"
    }
  ],
  "type": "registry:ui"
}