From 40eac2d85ef06a665a1b99a1f48f2339c1ebd2f7 Mon Sep 17 00:00:00 2001 From: Tim Glaser Date: Wed, 10 Jun 2020 16:43:26 -0700 Subject: [PATCH] chore: temporarily hide live rendering for Modal, Tooltip, Dropdown --- src/hooks/useComponentDoc.js | 25 +++++++++++++++++++------ 1 file changed, 19 insertions(+), 6 deletions(-) diff --git a/src/hooks/useComponentDoc.js b/src/hooks/useComponentDoc.js index 0f26c373a..c3838df92 100644 --- a/src/hooks/useComponentDoc.js +++ b/src/hooks/useComponentDoc.js @@ -2,6 +2,8 @@ import { useMemo } from 'react'; import { getPropTypeDefinition } from '../utils/propTypeInfo'; import { pullTypeDefNames } from '../utils/typeDefs'; +const IGNORED_LIVE_EXAMPLES = ['Dropdown', 'Modal', 'Tooltip']; + const IGNORED_METHODS = [ 'prototype', 'length', @@ -11,7 +13,20 @@ const IGNORED_METHODS = [ 'defaultProps', ]; -const extractPropTypes = (component) => { +const getExamples = (component) => { + const examples = component?.__docs__?.tags.examples ?? []; + const hideLive = IGNORED_LIVE_EXAMPLES.includes(component.name); + + if (!hideLive) { + return examples; + } + + return examples.map((example) => { + return { ...example, options: { ...example.options, live: false } }; + }); +}; + +const getPropTypes = (component) => { return Object.entries(component.propTypes || {}).map(([name, propType]) => getPropTypeDefinition(component, name, propType) ); @@ -57,13 +72,11 @@ const useComponentDoc = (componentName) => { return null; } - const componentDocs = component?.__docs__; - return { - description: componentDocs?.text, - examples: componentDocs?.tags.examples ?? [], + description: component?.__docs__?.text, + examples: getExamples(component), usage: `import { ${componentName} } from 'nr1'`, - propTypes: extractPropTypes(component), + propTypes: getPropTypes(component), methods: Object.getOwnPropertyNames(component) .filter( (member) =>