addons/docs/src/frameworks/react/__testfixtures__/ts-function-component/input.tsx
import React from 'react';
import { imported } from '../imported';
const local = 'local-value';
interface PropsWriterProps {
/**
* Description
*/
numberRequired: number;
numberOptional?: number;
stringRequired: string;
stringOptional?: string;
booleanRequired: boolean;
booleanOptional?: boolean;
arrayRequired: string[];
arrayOptional?: string[];
objectRequired: Record<string, string>;
objectOptional?: Record<string, string>;
functionRequired: () => string;
functionOptional?: () => string;
dateRequired: Date;
dateOptional?: Date;
localReference?: string;
importedReference?: string;
globalReference?: any;
stringGlobalName?: string;
}
/**
* A component that renders its props
*/
export const PropsWriter: React.FC<PropsWriterProps> = (props: PropsWriterProps) => (
<pre>{JSON.stringify(props)}</pre>
);
PropsWriter.defaultProps = {
numberOptional: 1,
stringOptional: 'stringOptional',
booleanOptional: false,
arrayOptional: ['array', 'optional'],
objectOptional: { object: 'optional' },
functionOptional: () => 'foo',
dateOptional: new Date('20 Jan 1983'),
localReference: local,
importedReference: imported,
globalReference: Date,
stringGlobalName: 'top',
};
export const component = PropsWriter;