github.com/Jeffail/benthos/v3@v3.65.0/website/src/theme/ComponentSelect/index.js (about) 1 import React from 'react'; 2 import useDocusaurusContext from '@docusaurus/useDocusaurusContext'; 3 4 import classnames from 'classnames'; 5 6 import styles from './styles.module.css'; 7 8 function ComponentSelect(props) { 9 let {type, singular} = props; 10 const context = useDocusaurusContext(); 11 const types = context.siteConfig.customFields.components[type]; 12 13 if ( typeof(singular) !== 'string' ) { 14 singular = type; 15 if (/s$/.test(singular)) { 16 singular = type.slice(0, -1); 17 } 18 } 19 20 return <div className="dropdown dropdown--hoverable"> 21 <button className="button button--outline button--primary">Jump to {singular}</button> 22 <ul className={classnames(styles.componentList, "dropdown__menu")}> 23 {types.map((info) => { 24 return <li key={info.name}> 25 <a className="dropdown__link" href={`/docs/components/${type}/${info.name}`}>{info.name}</a> 26 </li> 27 })} 28 </ul> 29 </div> 30 } 31 32 export default ComponentSelect;