import React, { useState } from 'react' import { type Meta, type StoryObj } from '@storybook/react' import { fn } from '@storybook/test' import { Button } from '~components/ButtonV1' import { RichTextEditor, type EditorContentArray, type RichTextEditorProps } from '../../index' import { EditableRichTextContent } from '../index' import defaultContent from './defaultContent.json' const meta = { title: 'Components/RichTextEditor/EditableRichTextContent', component: EditableRichTextContent, args: { content: [], labelText: 'Label', onClick: fn(), }, argTypes: { content: { control: false }, onClick: { action: 'onClick' }, }, } satisfies Meta export default meta type Story = StoryObj const EditableRichTextContentTemplate: Story = { render: (props) => { const [editMode, setEditMode] = useState(false) const [readRteData, setReadRTEData] = useState(props.content) const [editRteData, setEditRTEData] = useState([]) const handleOnChange: RichTextEditorProps['onChange'] = (editorState) => setEditRTEData(editorState.toJSON().doc.content) const handleContentClick = (): void => { setEditRTEData(readRteData) setEditMode(true) } const handleCancel = (): void => setEditMode(false) const handleSave = (): void => { setReadRTEData(editRteData) setEditMode(false) } if (editMode) { return ( <>
) } return ( ) }, args: { content: defaultContent, }, } export const Playground: Story = { parameters: { chromatic: { disable: false }, }, } export const UsageExample: Story = { ...EditableRichTextContentTemplate, }