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;