ืจืืืืืProืืืฉ
ืืืคืก ืืฉืื ืืชืขืฆื
ืกืจืื ืฆืจ ืขื ืืคืชืืจ ืืฉืื ืืชืขืฆื ืืฉืื ืืงืกื. ืฉืืืืื ื-Cmd+Enter, ืืื ืืกืจืื ื ืกืืจ ืืืืืื ืื ืงืืืช ืืฆืืื.
ืืชืืื
accentColor
glowColor
highlightColor
ืืืืกืก ืขื Morph Surface (MIT ืจืืฉืืื) ยท ืชื ืื ืฉืืืืฉ
ืืืคืืื ืื
20 ืืืคืืื ืื| ืืืคืืื | ืกืื | ืืจืืจืช ืืืื | ืชืืืืจ |
|---|---|---|---|
| label | string | "Morph Surface" | ืืงืกื ืืื ืื ืงืืื ืืกืจืื ืืืืืืฅ. |
| triggerLabel | string | "Feedback" | ืืงืกื ืืืคืชืืจ ืฉืคืืชื ืืช ืืืืคืก. |
| placeholder | string | "What's on your mind?" | ืจืื ืืฉืื ืืจืืง. |
| submitLabel | string | "โ Enter" | ืชืืืืช ืงืืฆืืจ ืืฉืืืื. |
| animationSpeed | number | 1 | ืืืคืื ืืฉื: ืืืื ืืืชืจ ืืืื ืืืชืจ. |
| collapsedWidth | number | 'auto' | 360 | ืจืืื ืืกืจืื ืืืืืืฅ. |
| collapsedHeight | number | 44 | ืืืื ืืกืจืื ืืืืืืฅ. |
| expandedWidth | number | 360 | ืจืืื ืืืืคืก ืืคืชืื. |
| expandedHeight | number | 200 | ืืืื ืืืืคืก ืืคืชืื. |
| triggerIcon | ReactNode | โ | ืืืืงืื ืืคื ื ืืงืกื ืืืคืชืืจ. |
| onSubmit | (data: FormData) => void | Promise<void> | โ | ืฉืืืืช ืืืืคืก; ืืืงืกื ื ืืฆื ืืฉืื message. |
| isOpen / onOpenChange | boolean / (open: boolean) => void | โ | ืฉืืืื ืืืฆื ืืคืชืืื ืืืืืฅ. |
| onOpen / onClose / onSuccess | () => void | โ | ื ืงืจืืื ืืคืชืืื, ืืกืืืจื ืืืฉืืืื ืืืฆืืืช. |
| springConfig | { type: 'spring'; stiffness: number; damping: number; mass?: number } | โ | ืงืคืืฅ ืืืชืื ืืืชืขืฆืืืช. |
| renderTrigger / renderContent / renderIndicator | (props) => ReactNode | โ | ืืืืคืช ืืืคืชืืจ, ืืืืคืก ืื ืื ืงืืื ืืกืืืื ืืฉืืื. |
| triggerClassName / contentClassName | string | โ | ืืืืงืืช ืืืคืชืืจ ืืืืืคืก. |
| accentColor | string | "#ffffff" | ืืฆืืข ืืจืืฉื: ื ืงืืืช ืืืืืื, ืกืื ืืืงืกื ืืืกืืจืช ืืฉืื ืืคืืงืืก. |
| glowColor | string | "rgba(255,255,255,0.08)" | ืืืืจ ืจื ืืชืืช ืืืฉืื. |
| highlightColor | string | "rgba(255,255,255,0.25)" | ืืกืืจืช ืืืืจื ืืืงื ืกืืื ืืืฉืื. |
| className | string | โ | ืืืืงืืช ื ืืกืคืืช. |
ืชืืืืืช
3 ืืืืืืช ื ืืจืฉืืช
npm install motion clsx tailwind-merge