import * as React from 'react'; import Table from '@atlaskit/dynamic-table'; import styled from 'styled-components'; import Link from 'next/link'; import { gridSize as gridSizeFn } from '@atlaskit/theme'; import titleCase from 'title-case'; import Page, { Title, Section } from '../un-src/components/page'; import NavigationWrapper from '../un-src/components/navigation-wrapper'; import AllPackagesNavContent from '../un-src/components/navigation/all-packages-nav-content'; import data from '../un-src/pages-list'; // @ts-ignore - ts cannot resolve file when it doesn't exist, which it won't always import meta2 from '../data/packages-data.json'; import PageTitle from '../un-src/components/page-title'; import { PackageInfo, PackageMetadata } from '../types'; const meta: PackageMetadata = meta2; const gridSize = gridSizeFn(); const head = { cells: [ { key: 'name', content: 'Name', isSortable: true, width: 20, }, { key: 'description', content: 'Description', shouldTruncate: true, isSortable: false, width: 45, }, { key: 'version', content: 'Version', shouldTruncate: true, isSortable: false, width: 15, }, { key: 'maintainers', content: 'Maintainers', shouldTruncate: true, isSortable: false, width: 40, }, ], }; const MaintainersToString = (maintainers: PackageInfo['maintainers']) => { if (Array.isArray(maintainers)) return maintainers.join(', '); if (typeof maintainers === 'string') return maintainers; return ''; }; const getDisplayName = ( packageId: string, parentId: string, packageTitle?: string, ) => { const name = packageTitle ? titleCase(packageTitle) : titleCase(packageId); return `${titleCase(parentId.split('/').join(' '))} - ${name}`; }; const renderRow = ({ packageId, homePath, parentId, packageTitle, }: PackageInfo) => { const metaData = meta.metaData.find(x => x.id === packageId); let display = titleCase(packageId); if (parentId) { display = getDisplayName(packageId, parentId, packageTitle); } else if (packageTitle) { display = titleCase(packageTitle); } if (!metaData) return {}; return { cells: [ { key: packageId, content: ( {display} ), }, { key: 'description', content: {metaData.description}, }, { key: 'version', shouldTruncate: true, content: {metaData.version}, }, { key: 'maintainers', content: {MaintainersToString(metaData.maintainers)}, }, ], }; }; const GetRows = () => data.packages.map(item => renderRow(item)); const PackagesList = () => ( Brisk Documentation
); // Tabular data const RowCell = styled.div` padding-bottom: ${gridSize}px; padding-top: ${gridSize}px; `; const Index = () => ( <> } > ); export default Index;