import * as React from 'react'; import { IDocPageProps, IExample } from '@fluentui/react/lib/common/DocPage.types'; import { DetailsListBasicExample } from './DetailsList.Basic.Example'; const DetailsListBasicExampleCode = require('!raw-loader?esModule=false!@fluentui/react-examples/src/react/DetailsList/DetailsList.Basic.Example.tsx') as string; import { DetailsListAnimationExample } from './DetailsList.Animation.Example'; const DetailsListAnimationExampleCode = require('!raw-loader?esModule=false!@fluentui/react-examples/src/react/DetailsList/DetailsList.Animation.Example.tsx') as string; import { DetailsListCompactExample } from './DetailsList.Compact.Example'; const DetailsListCompactExampleCode = require('!raw-loader?esModule=false!@fluentui/react-examples/src/react/DetailsList/DetailsList.Compact.Example.tsx') as string; import { DetailsListCustomColumnsExample } from './DetailsList.CustomColumns.Example'; const DetailsListCustomColumnsExampleCode = require('!raw-loader?esModule=false!@fluentui/react-examples/src/react/DetailsList/DetailsList.CustomColumns.Example.tsx') as string; import { DetailsListCustomRowsExample } from './DetailsList.CustomRows.Example'; const DetailsListCustomRowsExampleCode = require('!raw-loader?esModule=false!@fluentui/react-examples/src/react/DetailsList/DetailsList.CustomRows.Example.tsx') as string; import { DetailsListCustomGroupHeadersExample } from './DetailsList.CustomGroupHeaders.Example'; const DetailsListCustomGroupHeadersExampleCode = require('!raw-loader?esModule=false!@fluentui/react-examples/src/react/DetailsList/DetailsList.CustomGroupHeaders.Example.tsx') as string; import { DetailsListAdvancedExample } from './DetailsList.Advanced.Example'; const DetailsListAdvancedExampleCode = require('!raw-loader?esModule=false!@fluentui/react-examples/src/react/DetailsList/DetailsList.Advanced.Example.tsx') as string; import { DetailsListProportionalColumnsExample } from './DetailsList.ProportionalColumns.Example'; const DetailsListProportionalColumnsCode = require('!raw-loader!@fluentui/react-examples/src/react/DetailsList/DetailsList.ProportionalColumns.Example.tsx') as string; import { DetailsListGroupedExample } from './DetailsList.Grouped.Example'; const DetailsListGroupedExampleCode = require('!raw-loader?esModule=false!@fluentui/react-examples/src/react/DetailsList/DetailsList.Grouped.Example.tsx') as string; import { DetailsListGroupedLargeExample } from './DetailsList.Grouped.Large.Example'; const DetailsListGroupedLargeExampleCode = require('!raw-loader?esModule=false!@fluentui/react-examples/src/react/DetailsList/DetailsList.Grouped.Large.Example.tsx') as string; import { DetailsListDragDropExample } from './DetailsList.DragDrop.Example'; const DetailsListDragDropExampleCode = require('!raw-loader?esModule=false!@fluentui/react-examples/src/react/DetailsList/DetailsList.DragDrop.Example.tsx') as string; import { DetailsListDocumentsExample } from './DetailsList.Documents.Example'; const DetailsListDocumentsExampleCode = require('!raw-loader?esModule=false!@fluentui/react-examples/src/react/DetailsList/DetailsList.Documents.Example.tsx') as string; import { DetailsListNavigatingFocusExample } from './DetailsList.NavigatingFocus.Example'; const DetailsListNavigatingFocusExampleCode = require('!raw-loader?esModule=false!@fluentui/react-examples/src/react/DetailsList/DetailsList.NavigatingFocus.Example.tsx') as string; import { ShimmerApplicationExample as DetailsListShimmerExample } from '../Shimmer/Shimmer.Application.Example'; const DetailsListShimmerExampleCode = require('!raw-loader?esModule=false!@fluentui/react-examples/src/react/Shimmer/Shimmer.Application.Example.tsx') as string; import { DetailsListCustomFooterExample } from './DetailsList.CustomFooter.Example'; const DetailsListCustomFooterExampleCode = require('!raw-loader?esModule=false!@fluentui/react-examples/src/react/DetailsList/DetailsList.CustomFooter.Example.tsx') as string; export const DetailsListPageProps: IDocPageProps = { title: 'DetailsList', componentName: 'DetailsList', componentUrl: 'https://github.com/microsoft/fluentui/tree/master/packages/react/src/components/DetailsList', examples: [ { title: 'DetailsList with 500 documents, sorting, filtering, marquee selection, justified columns', code: DetailsListDocumentsExampleCode, view: , }, ], overview: require('!raw-loader?esModule=false!@fluentui/react-examples/src/react/DetailsList/docs/DetailsListOverview.md'), bestPractices: require('!raw-loader?esModule=false!@fluentui/react-examples/src/react/DetailsList/docs/DetailsListBestPractices.md'), isHeaderVisible: true, }; function generateProps(example: IExample): IDocPageProps { return { title: example.title, componentName: 'DetailsList', componentUrl: 'https://github.com/microsoft/fluentui/tree/master/packages/react/src/components/DetailsList', examples: [example], isHeaderVisible: false, isFeedbackVisible: true, }; } export const DetailsListBasicPageProps: IDocPageProps = generateProps({ title: 'Simple DetailsList with filtering and marquee selection', code: DetailsListBasicExampleCode, view: , }); export const DetailsListAnimationPageProps: IDocPageProps = generateProps({ title: 'DetailsList with Row animation when cell content changed', code: DetailsListAnimationExampleCode, view: , }); export const DetailsListCompactPageProps: IDocPageProps = generateProps({ title: 'Compact DetailsList with filtering and marquee selection', code: DetailsListCompactExampleCode, view: , }); export const DetailsListSimpleGroupedPageProps: IDocPageProps = generateProps({ title: 'Simple grouped DetailsList', code: DetailsListGroupedExampleCode, view: , }); export const DetailsListLargeGroupedPageProps: IDocPageProps = generateProps({ title: 'Large grouped DetailsList', code: DetailsListGroupedLargeExampleCode, view: , }); export const DetailsListCustomColumnsPageProps: IDocPageProps = generateProps({ title: 'Rendering custom item columns with sorting', code: DetailsListCustomColumnsExampleCode, view: , }); export const DetailsListCustomRowsPageProps: IDocPageProps = generateProps({ title: 'Rendering custom item rows', code: DetailsListCustomRowsExampleCode, view: , }); export const DetailsListCustomGroupHeadersPageProps: IDocPageProps = generateProps({ title: 'Rendering custom group headers', code: DetailsListCustomGroupHeadersExampleCode, view: , }); export const DetailsListAdvancedPageProps: IDocPageProps = generateProps({ title: 'Advanced DetailsList of 5000 items with variable row heights', code: DetailsListAdvancedExampleCode, view: , }); export const DetailsListProportionalColumnsProps: IDocPageProps = generateProps({ title: 'Rendering proportional and fixed columns', code: DetailsListProportionalColumnsCode, view: , }); export const DetailsListDragDropPageProps: IDocPageProps = generateProps({ title: 'DetailsList supporting drag and drop', code: DetailsListDragDropExampleCode, view: , }); export const DetailsListNavigatingFocusPageProps: IDocPageProps = generateProps({ title: 'Navigating to new content while preserving keyboard focus', code: DetailsListNavigatingFocusExampleCode, view: , }); export const DetailsListShimmerPageProps: IDocPageProps = generateProps({ title: 'Shimmered DetailsList - usually shown while retrieving data', code: DetailsListShimmerExampleCode, view: , }); export const DetailsListCustomFooterPageProps: IDocPageProps = generateProps({ title: 'Rendering custom DetailsList footer', code: DetailsListCustomFooterExampleCode, view: , });