import {ComponentMeta, Story} from '@storybook/react' import React from 'react' import Component from '.' import {withJaenMock} from '../../../../withJaenMock' import {useField} from '../../internal/services/field' export default { title: 'fields/TextField', component: Component, decorators: [ Story => { const MockedStory = withJaenMock(Story, { jaenPage: { id: `JaenPage jaen-page-1}`, slug: 'jaen-page-1', parent: null, children: [], jaenPageMetadata: { title: 'Jaen Page 1', description: 'Jaen Page 1 description', image: 'https://via.placeholder.com/300x200', canonical: 'https://jaen.com/jaen-page-1', datePublished: '2020-01-01', isBlogPost: false }, jaenFields: { 'IMA:TextField': { 'rich-text-field-1': { value: '

this is a stored rtf value

' } } }, chapters: {}, template: 'BlogPage', jaenFiles: [] } }) return } ] } as ComponentMeta type ComponentProps = React.ComponentProps // Create a template for the component const Template: Story = args => export const Basic: Story = Template.bind({}) Basic.args = { name: 'text-field', defaultValue: 'defaultValue' } export const RichText: Story = Template.bind({}) RichText.args = { name: 'rich-text-field-1', defaultValue: '

richtext2

', rtf: true } export const Hidden: Story = Template.bind({}) Hidden.args = { name: 'hidden-text-field', defaultValue: 'defaultValue', hiddenField: true } export const LiveValue: Story = () => { const field = useField('hidden-text-field', 'IMA:TextField') return <>{JSON.stringify(field)} }