ะšะพะผะฟะพะฝะตะฝั‚ั‹Proะะพะฒะพะต

ะŸะตั€ะตั‚ะตะบะฐัŽั‰ะฐั ั„ะพั€ะผะฐ ะพั‚ะทั‹ะฒะฐ

ะฃะทะบะฐั ะฟะฐะฝะตะปัŒ ั ะบะฝะพะฟะบะพะน ยซะžั‚ะทั‹ะฒยป ะฟะตั€ะตั‚ะตะบะฐะตั‚ ะฒ ะฟะพะปะต ะดะปั ั‚ะตะบัั‚ะฐ. ะžั‚ะฟั€ะฐะฒะบะฐ ะฟะพ Cmd+Enter, ะฟะพัะปะต ะฝะตั‘ ะฟะฐะฝะตะปัŒ ัะฒะพั€ะฐั‡ะธะฒะฐะตั‚ัั ะธ ะผะธะณะฐะตั‚ ั‚ะพั‡ะบะพะน ัƒัะฟะตั…ะฐ.

ะะฐัั‚ั€ะพะนะบะธ

accentColor
glowColor
highlightColor

ะžัะฝะพะฒะฐะฝะพ ะฝะฐ Morph Surface (MIT ะปะธั†ะตะฝะทะธั) ยท ะฃัะปะพะฒะธั ะธัะฟะพะปัŒะทะพะฒะฐะฝะธั

ะŸะฐั€ะฐะผะตั‚ั€ั‹

20 ะฟะฐั€ะฐะผะตั‚ั€ะพะฒ
ะŸะฐั€ะฐะผะตั‚ั€ะขะธะฟะŸะพ ัƒะผะพะปั‡ะฐะฝะธัŽะžะฟะธัะฐะฝะธะต
labelstring"Morph Surface"ะŸะพะดะฟะธััŒ ั€ัะดะพะผ ั ั‚ะพั‡ะบะพะน ะฒ ัะฒั‘ั€ะฝัƒั‚ะพะน ะฟะฐะฝะตะปะธ.
triggerLabelstring"Feedback"ะขะตะบัั‚ ะบะฝะพะฟะบะธ, ะบะพั‚ะพั€ะฐั ั€ะฐัะบั€ั‹ะฒะฐะตั‚ ั„ะพั€ะผัƒ.
placeholderstring"What's on your mind?"ะŸะพะดัะบะฐะทะบะฐ ะฒ ะฟัƒัั‚ะพะผ ะฟะพะปะต.
submitLabelstring"โŒ˜ Enter"ะŸะพะดะฟะธััŒ ะบ ัะพั‡ะตั‚ะฐะฝะธัŽ ะบะปะฐะฒะธัˆ ะพั‚ะฟั€ะฐะฒะบะธ.
animationSpeednumber1ะœะฝะพะถะธั‚ะตะปัŒ ะดะปะธั‚ะตะปัŒะฝะพัั‚ะธ: ะฑะพะปัŒัˆะต ะทะฝะฐั‡ะธั‚ ะผะตะดะปะตะฝะฝะตะต.
collapsedWidthnumber | 'auto'360ะจะธั€ะธะฝะฐ ัะฒั‘ั€ะฝัƒั‚ะพะน ะฟะฐะฝะตะปะธ.
collapsedHeightnumber44ะ’ั‹ัะพั‚ะฐ ัะฒั‘ั€ะฝัƒั‚ะพะน ะฟะฐะฝะตะปะธ.
expandedWidthnumber360ะจะธั€ะธะฝะฐ ั€ะฐัะบั€ั‹ั‚ะพะน ั„ะพั€ะผั‹.
expandedHeightnumber200ะ’ั‹ัะพั‚ะฐ ั€ะฐัะบั€ั‹ั‚ะพะน ั„ะพั€ะผั‹.
triggerIconReactNodeโ€”ะ˜ะบะพะฝะบะฐ ะฟะตั€ะตะด ั‚ะตะบัั‚ะพะผ ะบะฝะพะฟะบะธ.
onSubmit(data: FormData) => void | Promise<void>โ€”ะžั‚ะฟั€ะฐะฒะบะฐ ั„ะพั€ะผั‹, ั‚ะตะบัั‚ ะปะตะถะธั‚ ะฒ ะฟะพะปะต message.
isOpen / onOpenChangeboolean / (open: boolean) => voidโ€”ะฃะฟั€ะฐะฒะปะตะฝะธะต ะพั‚ะบั€ั‹ั‚ะธะตะผ ัะฝะฐั€ัƒะถะธ.
onOpen / onClose / onSuccess() => voidโ€”ะ’ั‹ะทั‹ะฒะฐัŽั‚ัั ะฟั€ะธ ะพั‚ะบั€ั‹ั‚ะธะธ, ะทะฐะบั€ั‹ั‚ะธะธ ะธ ัƒัะฟะตัˆะฝะพะน ะพั‚ะฟั€ะฐะฒะบะต.
springConfig{ type: 'spring'; stiffness: number; damping: number; mass?: number }โ€”ะกะฒะพั ะฟั€ัƒะถะธะฝะฐ ะดะปั ะฟะตั€ะตั‚ะตะบะฐะฝะธั.
renderTrigger / renderContent / renderIndicator(props) => ReactNodeโ€”ะ—ะฐะผะตะฝะฐ ะบะฝะพะฟะบะธ, ั„ะพั€ะผั‹ ะธะปะธ ั‚ะพั‡ะบะธ ัะฒะพะตะน ั€ะฐะทะผะตั‚ะบะพะน.
triggerClassName / contentClassNamestringโ€”ะšะปะฐััั‹ ะดะปั ะบะฝะพะฟะบะธ ะธ ะดะปั ั„ะพั€ะผั‹.
accentColorstring"#ffffff"ะ“ะปะฐะฒะฝั‹ะน ั†ะฒะตั‚: ั‚ะพั‡ะบะฐ-ะธะฝะดะธะบะฐั‚ะพั€, ะบัƒั€ัะพั€ ะฒ ะฟะพะปะต ะธ ั€ะฐะผะบะฐ ะฟะพะปั ะฒ ั„ะพะบัƒัะต.
glowColorstring"rgba(255,255,255,0.08)"ะœัะณะบะพะต ัะฒะตั‡ะตะฝะธะต ะฟะพะด ะฟะฐะฝะตะปัŒัŽ.
highlightColorstring"rgba(255,255,255,0.25)"ะขะพะฝะบะฐั ัะฒะตั‚ะปะฐั ะพะฑะฒะพะดะบะฐ ะฟะฐะฝะตะปะธ.
classNamestringโ€”ะ”ะพะฟะพะปะฝะธั‚ะตะปัŒะฝั‹ะต ะบะปะฐััั‹.

ะ—ะฐะฒะธัะธะผะพัั‚ะธ

ะŸะฐะบะตั‚ะพะฒ: 3

npm install motion clsx tailwind-merge

ะŸะพั…ะพะถะธะต ะบะพะผะฟะพะฝะตะฝั‚ั‹

ะกะผะพั‚ั€ะตั‚ัŒ ะฒัะต