@neo4j-ndl/react
Version:
React implementation of Neo4j Design System
69 lines • 2.71 kB
JavaScript
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
/**
*
* Copyright (c) "Neo4j"
* Neo4j Sweden AB [http://neo4j.com]
*
* This file is part of Neo4j.
*
* Neo4j is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
import '@neo4j-ndl/base/lib/neo4j-ds-styles.css';
import { DataGrid, FilledButton, OutlinedButton } from '@neo4j-ndl/react';
import { Preview } from '@neo4j-ndl/react/ai';
import { getCoreRowModel, getSortedRowModel, useReactTable, } from '@tanstack/react-table';
import { useState } from 'react';
const DATA = [
{
project_role: 'Viewer',
user: 'John Doe',
},
{
project_role: 'Viewer',
user: 'Alice Appleton',
},
{
project_role: 'Editor',
user: 'Bob Blueburr',
},
];
const Component = () => {
const [status, setStatus] = useState('pending');
const table = useReactTable({
columns: [
{
accessorKey: 'user',
header: 'User',
},
{
accessorKey: 'project_role',
header: 'Project Role',
},
],
data: DATA,
defaultColumn: {
minSize: 100,
},
enableSorting: true,
getCoreRowModel: getCoreRowModel(),
getSortedRowModel: getSortedRowModel(),
});
return (_jsxs(Preview, { children: [_jsx(DataGrid, { isResizable: false, tableInstance: table, isKeyboardNavigable: false, styling: {
borderStyle: 'all-sides',
}, components: {
Navigation: null,
} }), _jsx(Preview.Confirmation, { isFooter: true, status: status, actions: _jsxs(_Fragment, { children: [_jsx(OutlinedButton, { variant: "neutral", size: "small", onClick: () => setStatus('rejected'), children: "Skip" }), _jsx(FilledButton, { variant: "primary", size: "small", onClick: () => setStatus('confirmed'), children: "Invite users" })] }), children: "Assistant wants to perform an action" })] }));
};
export default Component;
//# sourceMappingURL=preview-data-grid.story.js.map