// Jest Snapshot v1, https://goo.gl/fbAQLP

exports[`react component properties ts-function-component 1`] = `
"import React from 'react';
import { imported } from '../imported';
const local = 'local-value';

/**
 * A component that renders its props
 */
export const PropsWriter = props => /*#__PURE__*/React.createElement(\\"pre\\", null, JSON.stringify(props));
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;
PropsWriter.__docgenInfo = {
  \\"description\\": \\"A component that renders its props\\",
  \\"methods\\": [],
  \\"displayName\\": \\"PropsWriter\\",
  \\"props\\": {
    \\"numberOptional\\": {
      \\"defaultValue\\": {
        \\"value\\": \\"1\\",
        \\"computed\\": false
      },
      \\"required\\": false,
      \\"tsType\\": {
        \\"name\\": \\"number\\"
      },
      \\"description\\": \\"\\"
    },
    \\"stringOptional\\": {
      \\"defaultValue\\": {
        \\"value\\": \\"'stringOptional'\\",
        \\"computed\\": false
      },
      \\"required\\": false,
      \\"tsType\\": {
        \\"name\\": \\"string\\"
      },
      \\"description\\": \\"\\"
    },
    \\"booleanOptional\\": {
      \\"defaultValue\\": {
        \\"value\\": \\"false\\",
        \\"computed\\": false
      },
      \\"required\\": false,
      \\"tsType\\": {
        \\"name\\": \\"boolean\\"
      },
      \\"description\\": \\"\\"
    },
    \\"arrayOptional\\": {
      \\"defaultValue\\": {
        \\"value\\": \\"['array', 'optional']\\",
        \\"computed\\": false
      },
      \\"required\\": false,
      \\"tsType\\": {
        \\"name\\": \\"Array\\",
        \\"elements\\": [{
          \\"name\\": \\"string\\"
        }],
        \\"raw\\": \\"string[]\\"
      },
      \\"description\\": \\"\\"
    },
    \\"objectOptional\\": {
      \\"defaultValue\\": {
        \\"value\\": \\"{ object: 'optional' }\\",
        \\"computed\\": false
      },
      \\"required\\": false,
      \\"tsType\\": {
        \\"name\\": \\"Record\\",
        \\"elements\\": [{
          \\"name\\": \\"string\\"
        }, {
          \\"name\\": \\"string\\"
        }],
        \\"raw\\": \\"Record<string, string>\\"
      },
      \\"description\\": \\"\\"
    },
    \\"functionOptional\\": {
      \\"defaultValue\\": {
        \\"value\\": \\"() => 'foo'\\",
        \\"computed\\": false
      },
      \\"required\\": false,
      \\"tsType\\": {
        \\"name\\": \\"signature\\",
        \\"type\\": \\"function\\",
        \\"raw\\": \\"() => string\\",
        \\"signature\\": {
          \\"arguments\\": [],
          \\"return\\": {
            \\"name\\": \\"string\\"
          }
        }
      },
      \\"description\\": \\"\\"
    },
    \\"dateOptional\\": {
      \\"defaultValue\\": {
        \\"value\\": \\"new Date('20 Jan 1983')\\",
        \\"computed\\": false
      },
      \\"required\\": false,
      \\"tsType\\": {
        \\"name\\": \\"Date\\"
      },
      \\"description\\": \\"\\"
    },
    \\"localReference\\": {
      \\"defaultValue\\": {
        \\"value\\": \\"'local-value'\\",
        \\"computed\\": false
      },
      \\"required\\": false,
      \\"tsType\\": {
        \\"name\\": \\"string\\"
      },
      \\"description\\": \\"\\"
    },
    \\"importedReference\\": {
      \\"defaultValue\\": {
        \\"value\\": \\"imported\\",
        \\"computed\\": true
      },
      \\"required\\": false,
      \\"tsType\\": {
        \\"name\\": \\"string\\"
      },
      \\"description\\": \\"\\"
    },
    \\"globalReference\\": {
      \\"defaultValue\\": {
        \\"value\\": \\"Date\\",
        \\"computed\\": true
      },
      \\"required\\": false,
      \\"tsType\\": {
        \\"name\\": \\"any\\"
      },
      \\"description\\": \\"\\"
    },
    \\"stringGlobalName\\": {
      \\"defaultValue\\": {
        \\"value\\": \\"'top'\\",
        \\"computed\\": false
      },
      \\"required\\": false,
      \\"tsType\\": {
        \\"name\\": \\"string\\"
      },
      \\"description\\": \\"\\"
    },
    \\"numberRequired\\": {
      \\"required\\": true,
      \\"tsType\\": {
        \\"name\\": \\"number\\"
      },
      \\"description\\": \\"Description\\"
    },
    \\"stringRequired\\": {
      \\"required\\": true,
      \\"tsType\\": {
        \\"name\\": \\"string\\"
      },
      \\"description\\": \\"\\"
    },
    \\"booleanRequired\\": {
      \\"required\\": true,
      \\"tsType\\": {
        \\"name\\": \\"boolean\\"
      },
      \\"description\\": \\"\\"
    },
    \\"arrayRequired\\": {
      \\"required\\": true,
      \\"tsType\\": {
        \\"name\\": \\"Array\\",
        \\"elements\\": [{
          \\"name\\": \\"string\\"
        }],
        \\"raw\\": \\"string[]\\"
      },
      \\"description\\": \\"\\"
    },
    \\"objectRequired\\": {
      \\"required\\": true,
      \\"tsType\\": {
        \\"name\\": \\"Record\\",
        \\"elements\\": [{
          \\"name\\": \\"string\\"
        }, {
          \\"name\\": \\"string\\"
        }],
        \\"raw\\": \\"Record<string, string>\\"
      },
      \\"description\\": \\"\\"
    },
    \\"functionRequired\\": {
      \\"required\\": true,
      \\"tsType\\": {
        \\"name\\": \\"signature\\",
        \\"type\\": \\"function\\",
        \\"raw\\": \\"() => string\\",
        \\"signature\\": {
          \\"arguments\\": [],
          \\"return\\": {
            \\"name\\": \\"string\\"
          }
        }
      },
      \\"description\\": \\"\\"
    },
    \\"dateRequired\\": {
      \\"required\\": true,
      \\"tsType\\": {
        \\"name\\": \\"Date\\"
      },
      \\"description\\": \\"\\"
    }
  }
};"
`;
