import * as React from 'react';
import {
AccordionItem,
DataTable,
DataTableHeader,
DataTableRow,
Table,
TableBatchActions,
TableHeader,
TableRow,
} from 'carbon-components-react';
import Link from 'carbon-components-react/lib/components/UIShell/Link';
// AccordionItem
const titleNode = (
A heading
);
const accordionItemOne = (
Lorem ipsum.
);
const accordionTitle = 'Hello World!';
const accordionItemTwo = (
Lorem ipsum.
);
interface Row1 extends DataTableRow {
rowProp: string;
}
type Header1Key = "h1" | "h2" | "h3";
interface Header1 extends DataTableHeader {
headerProp: number;
}
interface ExtraStuff {
extra1: string;
extra2?: number;
}
const t1 = (
headers={[{ key: 'h1', header: , headerProp: 2 }]}
rows={[{ id: 'r1', rowProp: 'row1' }]}
/>
);
const t2 = (
filterRows={data => {
const headers: ReadonlyArray = data.headers;
const rowIds: ReadonlyArray = data.rowIds;
return [headers[0].key];
}}
headers={[{ key: 'h1', header: , headerProp: 2 }]}
rows={[{ id: 'r1', rowProp: 'row1' }]}
render={props => {
props.expandRow('asdf');
let bap = props.getBatchActionProps();
bap.onCancel();
let x = bap.totalSelected;
let bap2 = props.getBatchActionProps({ extra1: 'extra' });
let s = bap2.extra1;
let hp = props.getHeaderProps({ header: { key: 'h1', header: 'testh1', headerProp: 3 } });
let k: Header1Key = hp.key;
let hp2 = props.getHeaderProps({
header: { key: 'h2', header: 'Test', headerProp: 3 },
extra1: 'asdf',
});
k = hp.key;
let e = hp2.extra1;
let hp3 = props.getHeaderProps({ header: { key: 'h3', header: 'testh1', headerProp: 5 }, someExtra: 2 });
let k3: Header1Key = hp.key;
let someExtra = hp3.someExtra;
let rp = props.getRowProps({ row: { id: 'r1', rowProp: 'asdf' }, extra1: 'asdf' });
let rk: string = rp.key;
let rp2 = props.getRowProps({ row: { id: 'r1', rowProp: 'edfg' }, extra1: 'asdf' });
rk = rp2.key;
e = rp2.extra1;
let sp = props.getSelectionProps();
let c = sp.checked;
let sp2 = props.getSelectionProps({ extra1: 't2', extra3: 'asdf' });
c = sp2.checked;
e = sp2.extra1;
e = sp2.extra3;
let tp = props.getTableProps();
let size = tp.size;
props.selectAll();
props.selectRow('qwerty');
props.sortBy('h3');
props.rows.forEach((denormalizedRow) => {
denormalizedRow.cells.forEach((cell) => {
let cellId = cell.id;
let cellHeaderKey = cell.info.header;
});
});
return ;
}}
/>
);
// No types explicitly set on DataTable props
const rowData1 = { id: '2', someRandomRowProp: 'test' };
const t3 = (
{
let rowProps = data.getRowProps({ row: rowData1, extra1: 'qwerty', ...rowData1 });
let a = rowProps.extra1;
let b = rowProps.someRandomRowProp;
return ;
}}
/>
);
const headerData1 = { key: '1', header: 'Test', someRandomHeaderProp: 'test' };
const t4 = (
{
let table = ();
let header = (
{headerData1.header}
);
let header2 = (
({ header: headerData1, extra1: "test" })}>
{headerData1.header}
);
let rowProps = data.getRowProps({ row: rowData1, extra1: 'qwerty', ...rowData1 });
let row = (
Content
);
let batchActions = (
Content
);
let a = rowProps.extra1;
let b = rowProps.someRandomRowProp;
return ;
}}
/>
);
// UIShell - Link
interface TestCompProps {
someProp: number,
}
class TestComp1 extends React.Component {
render() {
return ();
}
}
const TestComp2 = (props: TestCompProps) => ();
const uisLinkT1 = (
Test
);
const uisLinkT2 = (
> element="img" src="src"/>
);
const uisLinkT3 = (
element={TestComp1} someProp={2}>ASDF
);
const uisLinkT4 = (
element={TestComp2} someProp={2}>ASDF
);
interface TestCompPropsOverwrite {
element?: "overwriteTest", // making this required will produce an error. The underlying component will never receive prop element so it's not allowed to be required.
someProp: string,
}
const TestComp3 = (props: TestCompPropsOverwrite) => ();
const uisLinkT5 = (
element={TestComp3} someProp="asdf">Testing Overwrite
);