From 90ead59d34bf5218cf4e1e5317a4ffeb497da8e1 Mon Sep 17 00:00:00 2001
From: Fabio Berger <me@fabioberger.com>
Date: Thu, 2 Aug 2018 21:09:18 +0200
Subject: Add support for rendering nested IndexSignatures

---
 packages/react-docs/src/components/interface.tsx | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

(limited to 'packages/react-docs/src/components/interface.tsx')

diff --git a/packages/react-docs/src/components/interface.tsx b/packages/react-docs/src/components/interface.tsx
index a881c7fec..915b4bbc6 100644
--- a/packages/react-docs/src/components/interface.tsx
+++ b/packages/react-docs/src/components/interface.tsx
@@ -2,7 +2,7 @@ import * as _ from 'lodash';
 import * as React from 'react';
 
 import { DocsInfo } from '../docs_info';
-import { CustomType, TypeDocTypes } from '../types';
+import { CustomType } from '../types';
 
 import { Signature } from './signature';
 import { Type } from './type';
@@ -19,9 +19,7 @@ export const Interface = (props: InterfaceProps) => {
         return (
             <span key={`property-${property.name}-${property.type}-${type.name}`}>
                 {property.name}:{' '}
-                {property.type && property.type.typeDocType !== TypeDocTypes.Reflection ? (
-                    <Type type={property.type} sectionName={props.sectionName} docsInfo={props.docsInfo} />
-                ) : (
+                {property.type && !_.isUndefined(property.type.method) ? (
                     <Signature
                         name={property.type.method.name}
                         returnType={property.type.method.returnType}
@@ -32,6 +30,8 @@ export const Interface = (props: InterfaceProps) => {
                         shouldUseArrowSyntax={true}
                         docsInfo={props.docsInfo}
                     />
+                ) : (
+                    <Type type={property.type} sectionName={props.sectionName} docsInfo={props.docsInfo} />
                 )},
             </span>
         );
-- 
cgit v1.2.3


From 6182d2c7f60967a978f2b885e63fab067794b452 Mon Sep 17 00:00:00 2001
From: Fabio Berger <me@fabioberger.com>
Date: Mon, 6 Aug 2018 15:28:21 -0400
Subject: Pass in typeDefinitionByName so that type declarations also link to
 inner-types and show the popover

---
 packages/react-docs/src/components/interface.tsx | 19 ++++++++++++++++---
 1 file changed, 16 insertions(+), 3 deletions(-)

(limited to 'packages/react-docs/src/components/interface.tsx')

diff --git a/packages/react-docs/src/components/interface.tsx b/packages/react-docs/src/components/interface.tsx
index 915b4bbc6..eaf57ce93 100644
--- a/packages/react-docs/src/components/interface.tsx
+++ b/packages/react-docs/src/components/interface.tsx
@@ -2,7 +2,7 @@ import * as _ from 'lodash';
 import * as React from 'react';
 
 import { DocsInfo } from '../docs_info';
-import { CustomType } from '../types';
+import { CustomType, TypeDefinitionByName } from '../types';
 
 import { Signature } from './signature';
 import { Type } from './type';
@@ -11,6 +11,7 @@ export interface InterfaceProps {
     type: CustomType;
     sectionName: string;
     docsInfo: DocsInfo;
+    typeDefinitionByName: TypeDefinitionByName;
 }
 
 export const Interface = (props: InterfaceProps) => {
@@ -29,9 +30,15 @@ export const Interface = (props: InterfaceProps) => {
                         shouldHideMethodName={true}
                         shouldUseArrowSyntax={true}
                         docsInfo={props.docsInfo}
+                        typeDefinitionByName={props.typeDefinitionByName}
                     />
                 ) : (
-                    <Type type={property.type} sectionName={props.sectionName} docsInfo={props.docsInfo} />
+                    <Type
+                        type={property.type}
+                        sectionName={props.sectionName}
+                        docsInfo={props.docsInfo}
+                        typeDefinitionByName={props.typeDefinitionByName}
+                    />
                 )},
             </span>
         );
@@ -41,7 +48,13 @@ export const Interface = (props: InterfaceProps) => {
         const is = type.indexSignature;
         const param = (
             <span key={`indexSigParams-${is.keyName}-${is.keyType}-${type.name}`}>
-                {is.keyName}: <Type type={is.keyType} sectionName={props.sectionName} docsInfo={props.docsInfo} />
+                {is.keyName}:{' '}
+                <Type
+                    type={is.keyType}
+                    sectionName={props.sectionName}
+                    docsInfo={props.docsInfo}
+                    typeDefinitionByName={props.typeDefinitionByName}
+                />
             </span>
         );
         properties.push(
-- 
cgit v1.2.3


From cb5d8d75bf03910d1e763eb34907ada296ed3062 Mon Sep 17 00:00:00 2001
From: Fabio Berger <me@fabioberger.com>
Date: Tue, 14 Aug 2018 17:24:48 -0700
Subject: Link class reference types exported in same package to their
 declaration

---
 packages/react-docs/src/components/interface.tsx | 10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)

(limited to 'packages/react-docs/src/components/interface.tsx')

diff --git a/packages/react-docs/src/components/interface.tsx b/packages/react-docs/src/components/interface.tsx
index eaf57ce93..93b10e96d 100644
--- a/packages/react-docs/src/components/interface.tsx
+++ b/packages/react-docs/src/components/interface.tsx
@@ -7,14 +7,17 @@ import { CustomType, TypeDefinitionByName } from '../types';
 import { Signature } from './signature';
 import { Type } from './type';
 
+const defaultProps = {};
+
 export interface InterfaceProps {
     type: CustomType;
     sectionName: string;
     docsInfo: DocsInfo;
     typeDefinitionByName: TypeDefinitionByName;
+    isInPopover: boolean;
 }
 
-export const Interface = (props: InterfaceProps) => {
+export const Interface: React.SFC<InterfaceProps> = (props: InterfaceProps): any => {
     const type = props.type;
     const properties = _.map(type.children, property => {
         return (
@@ -31,6 +34,7 @@ export const Interface = (props: InterfaceProps) => {
                         shouldUseArrowSyntax={true}
                         docsInfo={props.docsInfo}
                         typeDefinitionByName={props.typeDefinitionByName}
+                        isInPopover={props.isInPopover}
                     />
                 ) : (
                     <Type
@@ -38,6 +42,7 @@ export const Interface = (props: InterfaceProps) => {
                         sectionName={props.sectionName}
                         docsInfo={props.docsInfo}
                         typeDefinitionByName={props.typeDefinitionByName}
+                        isInPopover={props.isInPopover}
                     />
                 )},
             </span>
@@ -54,6 +59,7 @@ export const Interface = (props: InterfaceProps) => {
                     sectionName={props.sectionName}
                     docsInfo={props.docsInfo}
                     typeDefinitionByName={props.typeDefinitionByName}
+                    isInPopover={props.isInPopover}
                 />
             </span>
         );
@@ -77,3 +83,5 @@ export const Interface = (props: InterfaceProps) => {
         </span>
     );
 };
+
+Interface.defaultProps = defaultProps;
-- 
cgit v1.2.3


From f429032eef007bafaed108171631f4b3d3233f6b Mon Sep 17 00:00:00 2001
From: "F. Eugene Aumson" <gene@aumson.org>
Date: Thu, 30 Aug 2018 08:22:44 -0400
Subject: move shared doc types from react-docs to @0x/types

---
 packages/react-docs/src/components/interface.tsx | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

(limited to 'packages/react-docs/src/components/interface.tsx')

diff --git a/packages/react-docs/src/components/interface.tsx b/packages/react-docs/src/components/interface.tsx
index 93b10e96d..9f0800d71 100644
--- a/packages/react-docs/src/components/interface.tsx
+++ b/packages/react-docs/src/components/interface.tsx
@@ -1,8 +1,9 @@
 import * as _ from 'lodash';
 import * as React from 'react';
 
+import { CustomType, TypeDefinitionByName } from '@0xproject/types';
+
 import { DocsInfo } from '../docs_info';
-import { CustomType, TypeDefinitionByName } from '../types';
 
 import { Signature } from './signature';
 import { Type } from './type';
-- 
cgit v1.2.3


From 63ffdb3895caa641881eecf21563a667f6d8b605 Mon Sep 17 00:00:00 2001
From: Fabio Berger <me@fabioberger.com>
Date: Thu, 27 Sep 2018 18:52:51 +0100
Subject: Improve key

---
 packages/react-docs/src/components/interface.tsx | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

(limited to 'packages/react-docs/src/components/interface.tsx')

diff --git a/packages/react-docs/src/components/interface.tsx b/packages/react-docs/src/components/interface.tsx
index 9f0800d71..cad7d6c46 100644
--- a/packages/react-docs/src/components/interface.tsx
+++ b/packages/react-docs/src/components/interface.tsx
@@ -20,9 +20,9 @@ export interface InterfaceProps {
 
 export const Interface: React.SFC<InterfaceProps> = (props: InterfaceProps): any => {
     const type = props.type;
-    const properties = _.map(type.children, property => {
+    const properties = _.map(type.children, (property, i) => {
         return (
-            <span key={`property-${property.name}-${property.type}-${type.name}`}>
+            <span key={`property-${property.name}-${property.type}-${type.name}-${i}`}>
                 {property.name}:{' '}
                 {property.type && !_.isUndefined(property.type.method) ? (
                     <Signature
-- 
cgit v1.2.3

