mirror of
https://github.com/supermemoryai/supermemory.git
synced 2026-09-08 22:21:07 +00:00
48 lines
1 KiB
TypeScript
48 lines
1 KiB
TypeScript
'use client';
|
|
|
|
import {
|
|
cn,
|
|
createPrimitiveComponent,
|
|
withCn,
|
|
withVariants,
|
|
} from '@udecode/cn';
|
|
import {
|
|
Caption as CaptionPrimitive,
|
|
CaptionTextarea as CaptionTextareaPrimitive,
|
|
useCaptionButton,
|
|
useCaptionButtonState,
|
|
} from '@udecode/plate-caption/react';
|
|
import { cva } from 'class-variance-authority';
|
|
|
|
import { Button } from './button';
|
|
|
|
const captionVariants = cva('max-w-full', {
|
|
defaultVariants: {
|
|
align: 'center',
|
|
},
|
|
variants: {
|
|
align: {
|
|
center: 'mx-auto',
|
|
left: 'mr-auto',
|
|
right: 'ml-auto',
|
|
},
|
|
},
|
|
});
|
|
|
|
export const Caption = withVariants(CaptionPrimitive, captionVariants, [
|
|
'align',
|
|
]);
|
|
|
|
export const CaptionTextarea = withCn(
|
|
CaptionTextareaPrimitive,
|
|
cn(
|
|
'mt-2 w-full resize-none border-none bg-inherit p-0 font-[inherit] text-inherit',
|
|
'focus:outline-none focus:[&::placeholder]:opacity-0',
|
|
'text-center print:placeholder:text-transparent'
|
|
)
|
|
);
|
|
|
|
export const CaptionButton = createPrimitiveComponent(Button)({
|
|
propsHook: useCaptionButton,
|
|
stateHook: useCaptionButtonState,
|
|
});
|