āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā ā š shadcn/directory/ibelick/motion-primitives/text-morph/page ā āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā
āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā
ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā
export const metadata = { title: 'Text Morph - Motion-Primitives', description: 'Animates text by morphing shared letters between words, creating fluid transitions. Built for React, Next.js, and Tailwind CSS.', };
import { TextMorphButton } from './text-morph-button'; import { TextMorphInput } from './text-morph-input'; import ComponentCodePreview from '@/components/website/component-code-preview'; import CodeBlock from '@/components/website/code-block';
Animates text by morphing shared letters between words, creating fluid transitions
<ComponentCodePreview component={<TextMorphButton />} filePath='app/docs/text-morph/text-morph-button.tsx' />
<ComponentCodePreview component={<TextMorphInput />} filePath='app/docs/text-morph/text-morph-input.tsx' classNameComponentContainer='min-h-[300px] py-24 lg:px-32 px-8 items-end' />
<Step>Copy and paste the following code into your project.</Step>
<CodeBlock filePath='components/core/text-morph.tsx' /><Step>Update the import paths to match your project setup.</Step>
</Steps> </TabsContent> </Tabs>| Prop | Type | Default | Description | | :-------- | :-------------------------- | :-------- | :--------------------------------------------- | | children | string | | The text content to be animated. | | as | keyof JSX.IntrinsicElements | 'p' | The HTML tag to render, defaults to paragraph. | | className | string | undefined | Optional CSS class for styling the component. | | style | React.CSSProperties | undefined | Optional inline styles for the component. |
Inspired by Family iOS app. See also Family Values
ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā
āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā