@dust-tt/sparkle 0.2.591 → 0.2.592

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,6 +1,7 @@
1
1
  import { __assign, __read, __spreadArray } from "tslib";
2
- import React, { useState } from "react";
2
+ import React, { useCallback, useState } from "react";
3
3
  import { Button } from "../components/Button";
4
+ import { ScrollableDataTable } from "../components/DataTable";
4
5
  import { MultiPageSheet, MultiPageSheetContent, MultiPageSheetTrigger, } from "../components/MultiPageSheet";
5
6
  import { Cog6ToothIcon, DocumentTextIcon, UserIcon } from "../icons/app";
6
7
  var meta = {
@@ -244,4 +245,156 @@ export var WithConditionalNavigation = {
244
245
  React.createElement(MultiPageSheetContent, { pages: conditionalPages, currentPageId: currentPageId, onPageChange: setCurrentPageId, size: "lg", onSave: handleSave, showNavigation: true, disableNext: currentPageId === "data-selection" && selectedItems.length === 0, disableSave: !description.trim() })));
245
246
  },
246
247
  };
248
+ // Generate random user data
249
+ var generateRandomUsers = function (count, startId) {
250
+ if (startId === void 0) { startId = 0; }
251
+ var roles = ["Admin", "User", "Manager", "Developer", "Designer"];
252
+ var statuses = ["Active", "Inactive", "Pending"];
253
+ var firstNames = [
254
+ "John",
255
+ "Jane",
256
+ "Mike",
257
+ "Sarah",
258
+ "David",
259
+ "Lisa",
260
+ "Tom",
261
+ "Anna",
262
+ "Chris",
263
+ "Emma",
264
+ ];
265
+ var lastNames = [
266
+ "Smith",
267
+ "Johnson",
268
+ "Williams",
269
+ "Brown",
270
+ "Jones",
271
+ "Garcia",
272
+ "Miller",
273
+ "Davis",
274
+ "Rodriguez",
275
+ "Martinez",
276
+ ];
277
+ return Array.from({ length: count }, function (_, index) {
278
+ var firstName = firstNames[Math.floor(Math.random() * firstNames.length)];
279
+ var lastName = lastNames[Math.floor(Math.random() * lastNames.length)];
280
+ var id = (startId + index + 1).toString();
281
+ return {
282
+ id: id,
283
+ name: "".concat(firstName, " ").concat(lastName),
284
+ email: "".concat(firstName.toLowerCase(), ".").concat(lastName.toLowerCase(), "@example.com"),
285
+ role: roles[Math.floor(Math.random() * roles.length)],
286
+ status: statuses[Math.floor(Math.random() * statuses.length)],
287
+ lastActive: new Date(Date.now() - Math.floor(Math.random() * 30) * 24 * 60 * 60 * 1000).toLocaleDateString(),
288
+ onClick: function () { return alert("Clicked on user: ".concat(firstName, " ").concat(lastName)); },
289
+ };
290
+ });
291
+ };
292
+ export var WithScrollableDataTable = {
293
+ render: function () {
294
+ var _a = __read(useState("users"), 2), currentPageId = _a[0], setCurrentPageId = _a[1];
295
+ var _b = __read(useState(function () {
296
+ return generateRandomUsers(50);
297
+ }), 2), users = _b[0], setUsers = _b[1];
298
+ var _c = __read(useState(false), 2), isLoading = _c[0], setIsLoading = _c[1];
299
+ var _d = __read(useState(true), 2), hasMore = _d[0], setHasMore = _d[1];
300
+ // Define columns for the data table
301
+ var columns = [
302
+ {
303
+ accessorKey: "name",
304
+ header: "Name",
305
+ cell: function (_a) {
306
+ var row = _a.row;
307
+ return (React.createElement("div", { className: "s-font-medium" }, row.getValue("name")));
308
+ },
309
+ meta: { sizeRatio: 25 },
310
+ },
311
+ {
312
+ accessorKey: "email",
313
+ header: "Email",
314
+ cell: function (_a) {
315
+ var row = _a.row;
316
+ return (React.createElement("div", { className: "s-text-muted-foreground" }, row.getValue("email")));
317
+ },
318
+ meta: { sizeRatio: 30 },
319
+ },
320
+ {
321
+ accessorKey: "role",
322
+ header: "Role",
323
+ cell: function (_a) {
324
+ var row = _a.row;
325
+ return (React.createElement("div", { className: "s-inline-flex s-rounded-full s-bg-blue-100 s-px-2 s-py-1 s-text-xs s-font-semibold s-text-blue-800" }, row.getValue("role")));
326
+ },
327
+ meta: { sizeRatio: 15 },
328
+ },
329
+ {
330
+ accessorKey: "status",
331
+ header: "Status",
332
+ cell: function (_a) {
333
+ var row = _a.row;
334
+ var status = row.getValue("status");
335
+ var colorClass = status === "Active"
336
+ ? "s-bg-green-100 s-text-green-800"
337
+ : status === "Inactive"
338
+ ? "s-bg-red-100 s-text-red-800"
339
+ : "s-bg-yellow-100 s-text-yellow-800";
340
+ return (React.createElement("div", { className: "s-inline-flex s-rounded-full s-px-2 s-py-1 s-text-xs s-font-semibold ".concat(colorClass) }, status));
341
+ },
342
+ meta: { sizeRatio: 15 },
343
+ },
344
+ {
345
+ accessorKey: "lastActive",
346
+ header: "Last Active",
347
+ cell: function (_a) {
348
+ var row = _a.row;
349
+ return (React.createElement("div", { className: "s-text-sm s-text-muted-foreground" }, row.getValue("lastActive")));
350
+ },
351
+ meta: { sizeRatio: 15 },
352
+ },
353
+ ];
354
+ // Handle infinite loading
355
+ var handleLoadMore = useCallback(function () {
356
+ if (isLoading || !hasMore) {
357
+ return;
358
+ }
359
+ setIsLoading(true);
360
+ // Simulate API call delay
361
+ setTimeout(function () {
362
+ var newUsers = generateRandomUsers(25, users.length);
363
+ setUsers(function (prev) { return __spreadArray(__spreadArray([], __read(prev), false), __read(newUsers), false); });
364
+ setIsLoading(false);
365
+ // Stop loading more after reaching 200 items for demo purposes
366
+ if (users.length >= 175) {
367
+ setHasMore(false);
368
+ }
369
+ }, 1000);
370
+ }, [isLoading, hasMore, users.length]);
371
+ var handleSave = function () {
372
+ alert("User data saved!");
373
+ };
374
+ var scrollableDataTablePages = [
375
+ {
376
+ id: "users",
377
+ title: "User Management",
378
+ description: "Manage users with infinite scroll",
379
+ icon: UserIcon,
380
+ noScroll: true,
381
+ content: (React.createElement("div", { className: "s-flex s-h-full s-flex-col s-space-y-4" },
382
+ React.createElement("div", { className: "s-flex-shrink-0" },
383
+ React.createElement("h3", { className: "s-mb-2 s-text-lg s-font-semibold" }, "Users Database"),
384
+ React.createElement("p", { className: "s-text-sm s-text-muted-foreground" }, "Browse through all users with infinite scrolling. Click on any row to view details.")),
385
+ React.createElement(ScrollableDataTable, { className: "s-min-h-0", data: users, columns: columns, maxHeight: true, onLoadMore: hasMore ? handleLoadMore : undefined, isLoading: isLoading, enableRowSelection: false }),
386
+ React.createElement("div", { className: "s-flex-shrink-0 s-text-xs s-text-muted-foreground" },
387
+ "Showing ",
388
+ users.length,
389
+ " users",
390
+ " ",
391
+ hasMore ? "(loading more available)" : "(all users loaded)"))),
392
+ },
393
+ ];
394
+ return (React.createElement(MultiPageSheet, null,
395
+ React.createElement(MultiPageSheetTrigger, { asChild: true },
396
+ React.createElement(Button, { label: "Open User Management" })),
397
+ React.createElement(MultiPageSheetContent, { pages: scrollableDataTablePages, currentPageId: currentPageId, onPageChange: setCurrentPageId, size: "xl", onSave: handleSave })));
398
+ },
399
+ };
247
400
  //# sourceMappingURL=MultiPageSheet.stories.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MultiPageSheet.stories.js","sourceRoot":"","sources":["../../../src/stories/MultiPageSheet.stories.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MultiPageSheet.stories.js","sourceRoot":"","sources":["../../../src/stories/MultiPageSheet.stories.tsx"],"names":[],"mappings":"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"}
package/dist/sparkle.css CHANGED
@@ -1315,10 +1315,6 @@ select {
1315
1315
  height: 2.5rem;
1316
1316
  }
1317
1317
 
1318
- .s-h-100 {
1319
- height: 400px;
1320
- }
1321
-
1322
1318
  .s-h-11 {
1323
1319
  height: 2.75rem;
1324
1320
  }
@@ -3805,6 +3801,11 @@ select {
3805
3801
  background-color: rgb(255 255 255 / 0.95);
3806
3802
  }
3807
3803
 
3804
+ .s-bg-yellow-100 {
3805
+ --tw-bg-opacity: 1;
3806
+ background-color: rgb(254 249 195 / var(--tw-bg-opacity));
3807
+ }
3808
+
3808
3809
  .s-bg-yellow-200 {
3809
3810
  --tw-bg-opacity: 1;
3810
3811
  background-color: rgb(254 240 138 / var(--tw-bg-opacity));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dust-tt/sparkle",
3
- "version": "0.2.591",
3
+ "version": "0.2.592",
4
4
  "scripts": {
5
5
  "build": "rm -rf dist && npm run tailwind && npm run build:esm && npm run build:cjs",
6
6
  "tailwind": "tailwindcss -i ./src/styles/tailwind.css -o dist/sparkle.css",
@@ -327,7 +327,7 @@ export function DataTable<TData extends TBaseData>({
327
327
 
328
328
  export interface ScrollableDataTableProps<TData extends TBaseData>
329
329
  extends DataTableProps<TData> {
330
- maxHeight?: string;
330
+ maxHeight?: string | boolean;
331
331
  onLoadMore?: () => void;
332
332
  isLoading?: boolean;
333
333
  }
@@ -343,7 +343,7 @@ export function ScrollableDataTable<TData extends TBaseData>({
343
343
  className,
344
344
  widthClassName = "s-w-full",
345
345
  columnsBreakpoints = {},
346
- maxHeight = "s-h-100",
346
+ maxHeight,
347
347
  onLoadMore,
348
348
  isLoading = false,
349
349
  rowSelection,
@@ -480,24 +480,95 @@ export function ScrollableDataTable<TData extends TBaseData>({
480
480
  }, [onLoadMore, isLoading]);
481
481
 
482
482
  return (
483
- <div className={cn("s-flex s-flex-col s-gap-2", className, widthClassName)}>
484
- <div
485
- className={cn(
486
- "s-relative s-overflow-y-auto s-overflow-x-hidden",
487
- maxHeight
488
- )}
489
- ref={tableContainerRef}
490
- >
491
- <div className="s-relative">
492
- <DataTable.Root className="s-w-full s-table-fixed">
493
- <DataTable.Header className="s-sticky s-top-0 s-z-20 s-bg-white s-shadow-sm dark:s-bg-background-night">
494
- {table.getHeaderGroups().map((headerGroup) => (
483
+ <div
484
+ className={cn(
485
+ "s-relative s-overflow-y-auto s-overflow-x-hidden",
486
+ className,
487
+ widthClassName,
488
+ maxHeight === true
489
+ ? "s-flex-1"
490
+ : typeof maxHeight === "string"
491
+ ? maxHeight
492
+ : "s-max-h-100"
493
+ )}
494
+ ref={tableContainerRef}
495
+ >
496
+ <div className="s-relative">
497
+ <DataTable.Root className="s-w-full s-table-fixed">
498
+ <DataTable.Header className="s-sticky s-top-0 s-z-20 s-bg-white s-shadow-sm dark:s-bg-background-night">
499
+ {table.getHeaderGroups().map((headerGroup) => (
500
+ <DataTable.Row
501
+ key={headerGroup.id}
502
+ widthClassName={widthClassName}
503
+ >
504
+ {headerGroup.headers.map((header) => {
505
+ const breakpoint = columnsBreakpoints[header.id];
506
+ if (
507
+ !windowSize.width ||
508
+ !shouldRenderColumn(windowSize.width, breakpoint)
509
+ ) {
510
+ return null;
511
+ }
512
+
513
+ return (
514
+ <DataTable.Head
515
+ column={header.column}
516
+ key={header.id}
517
+ className="s-max-w-0"
518
+ style={{
519
+ width: columnSizing[header.id],
520
+ minWidth: columnSizing[header.id],
521
+ }}
522
+ >
523
+ <div className="s-flex s-w-full s-items-center s-space-x-1">
524
+ <span className="s-truncate">
525
+ {flexRender(
526
+ header.column.columnDef.header,
527
+ header.getContext()
528
+ )}
529
+ </span>
530
+ </div>
531
+ </DataTable.Head>
532
+ );
533
+ })}
534
+ </DataTable.Row>
535
+ ))}
536
+ </DataTable.Header>
537
+ <DataTable.Body
538
+ className="s-relative s-w-full"
539
+ style={{
540
+ height: `${rowVirtualizer.getTotalSize()}px`,
541
+ }}
542
+ >
543
+ {rowVirtualizer.getVirtualItems().map((virtualRow) => {
544
+ const row = rows[virtualRow.index];
545
+ const handleRowClick = () => {
546
+ if (enableRowSelection && row.getCanSelect()) {
547
+ row.toggleSelected(
548
+ !enableMultiRowSelection ? true : undefined
549
+ );
550
+ }
551
+ row.original.onClick?.();
552
+ };
553
+
554
+ return (
495
555
  <DataTable.Row
496
- key={headerGroup.id}
556
+ key={row.id}
557
+ id={row.id}
497
558
  widthClassName={widthClassName}
559
+ onClick={
560
+ enableRowSelection ? handleRowClick : row.original.onClick
561
+ }
562
+ className="s-absolute s-w-full"
563
+ {...(enableRowSelection && {
564
+ "data-selected": row.getIsSelected(),
565
+ })}
566
+ style={{
567
+ transform: `translateY(${virtualRow.start}px)`,
568
+ }}
498
569
  >
499
- {headerGroup.headers.map((header) => {
500
- const breakpoint = columnsBreakpoints[header.id];
570
+ {row.getVisibleCells().map((cell) => {
571
+ const breakpoint = columnsBreakpoints[cell.column.id];
501
572
  if (
502
573
  !windowSize.width ||
503
574
  !shouldRenderColumn(windowSize.width, breakpoint)
@@ -506,114 +577,47 @@ export function ScrollableDataTable<TData extends TBaseData>({
506
577
  }
507
578
 
508
579
  return (
509
- <DataTable.Head
510
- column={header.column}
511
- key={header.id}
580
+ <DataTable.Cell
581
+ column={cell.column}
582
+ key={cell.id}
583
+ id={cell.id}
512
584
  className="s-max-w-0"
513
585
  style={{
514
- width: columnSizing[header.id],
515
- minWidth: columnSizing[header.id],
586
+ width: columnSizing[cell.column.id],
587
+ minWidth: columnSizing[cell.column.id],
516
588
  }}
517
589
  >
518
- <div className="s-flex s-w-full s-items-center s-space-x-1">
590
+ <div className="s-flex s-items-center s-space-x-1">
519
591
  <span className="s-truncate">
520
592
  {flexRender(
521
- header.column.columnDef.header,
522
- header.getContext()
593
+ cell.column.columnDef.cell,
594
+ cell.getContext()
523
595
  )}
524
596
  </span>
525
597
  </div>
526
- </DataTable.Head>
598
+ </DataTable.Cell>
527
599
  );
528
600
  })}
529
601
  </DataTable.Row>
530
- ))}
531
- </DataTable.Header>
532
- <DataTable.Body
533
- className="s-relative s-w-full"
534
- style={{
535
- height: `${rowVirtualizer.getTotalSize()}px`,
536
- }}
537
- >
538
- {rowVirtualizer.getVirtualItems().map((virtualRow) => {
539
- const row = rows[virtualRow.index];
540
- const handleRowClick = () => {
541
- if (enableRowSelection && row.getCanSelect()) {
542
- row.toggleSelected(
543
- !enableMultiRowSelection ? true : undefined
544
- );
545
- }
546
- row.original.onClick?.();
547
- };
548
-
549
- return (
550
- <DataTable.Row
551
- key={row.id}
552
- id={row.id}
553
- widthClassName={widthClassName}
554
- onClick={
555
- enableRowSelection ? handleRowClick : row.original.onClick
556
- }
557
- className="s-absolute s-w-full"
558
- {...(enableRowSelection && {
559
- "data-selected": row.getIsSelected(),
560
- })}
561
- style={{
562
- transform: `translateY(${virtualRow.start}px)`,
563
- }}
564
- >
565
- {row.getVisibleCells().map((cell) => {
566
- const breakpoint = columnsBreakpoints[cell.column.id];
567
- if (
568
- !windowSize.width ||
569
- !shouldRenderColumn(windowSize.width, breakpoint)
570
- ) {
571
- return null;
572
- }
573
-
574
- return (
575
- <DataTable.Cell
576
- column={cell.column}
577
- key={cell.id}
578
- id={cell.id}
579
- className="s-max-w-0"
580
- style={{
581
- width: columnSizing[cell.column.id],
582
- minWidth: columnSizing[cell.column.id],
583
- }}
584
- >
585
- <div className="s-flex s-items-center s-space-x-1">
586
- <span className="s-truncate">
587
- {flexRender(
588
- cell.column.columnDef.cell,
589
- cell.getContext()
590
- )}
591
- </span>
592
- </div>
593
- </DataTable.Cell>
594
- );
595
- })}
596
- </DataTable.Row>
597
- );
598
- })}
599
- </DataTable.Body>
600
- </DataTable.Root>
601
- {/*sentinel div used for the intersection observer*/}
602
- <div
603
- ref={loadMoreRef}
604
- className="s-absolute s-bottom-0 s-h-1 s-w-full"
605
- />
606
- </div>
602
+ );
603
+ })}
604
+ </DataTable.Body>
605
+ </DataTable.Root>
606
+ {/*sentinel div used for the intersection observer*/}
607
+ <div
608
+ ref={loadMoreRef}
609
+ className="s-absolute s-bottom-0 s-h-1 s-w-full"
610
+ />
611
+ </div>
607
612
 
608
- {isLoading && (
609
- <div className="s-sticky s-bottom-0 s-left-0 s-right-0 s-flex s-justify-center s-bg-white/80 s-py-2 s-backdrop-blur-sm dark:s-bg-background-night/80">
610
- <div className="s-flex s-items-center s-gap-2 s-text-sm s-text-muted-foreground">
611
- <Spinner size="xs" />
612
- <span>Loading more data...</span>
613
- </div>
613
+ {isLoading && (
614
+ <div className="s-sticky s-bottom-0 s-left-0 s-right-0 s-flex s-justify-center s-bg-white/80 s-py-2 s-backdrop-blur-sm dark:s-bg-background-night/80">
615
+ <div className="s-flex s-items-center s-gap-2 s-text-sm s-text-muted-foreground">
616
+ <Spinner size="xs" />
617
+ <span>Loading more data...</span>
614
618
  </div>
615
- )}
616
- </div>
619
+ </div>
620
+ )}
617
621
  </div>
618
622
  );
619
623
  }
@@ -22,6 +22,11 @@ interface MultiPageSheetPage {
22
22
  content: React.ReactNode;
23
23
  fixedContent?: React.ReactNode;
24
24
  footerContent?: React.ReactNode;
25
+ /**
26
+ * Remove the default ScrollArea in the SheetContainer.
27
+ * To be used if you want to manage the scroll yourself
28
+ */
29
+ noScroll?: boolean;
25
30
  }
26
31
 
27
32
  interface MultiPageSheetProps {
@@ -231,6 +236,7 @@ const MultiPageSheetContent = React.forwardRef<
231
236
  )}
232
237
  <SheetContainer
233
238
  className={currentPage.fixedContent ? "s-flex-1" : undefined}
239
+ noScroll={currentPage.noScroll}
234
240
  >
235
241
  {currentPage.content}
236
242
  </SheetContainer>
@@ -180,18 +180,25 @@ const SheetHeader = ({
180
180
  );
181
181
  SheetHeader.displayName = "SheetHeader";
182
182
 
183
- const SheetContainer = ({ children }: React.HTMLAttributes<HTMLDivElement>) => {
183
+ interface SheetContainerProps extends React.HTMLAttributes<HTMLDivElement> {
184
+ noScroll?: boolean;
185
+ }
186
+
187
+ const SheetContainer = ({ children, noScroll }: SheetContainerProps) => {
188
+ const ScrollContainer = noScroll ? React.Fragment : ScrollArea;
184
189
  return (
185
- <ScrollArea
186
- className={cn(
187
- "s-h-full s-w-full s-flex-grow",
188
- "s-border-t s-border-border/60 s-transition-all s-duration-300 dark:s-border-border-night/60"
189
- )}
190
- >
191
- <div className="s-relative s-flex s-h-full s-flex-col s-gap-5 s-p-5 s-text-left s-text-sm s-text-foreground dark:s-text-foreground-night">
192
- {children}
190
+ <ScrollContainer>
191
+ <div
192
+ className={cn(
193
+ "s-h-full s-w-full s-flex-grow",
194
+ "s-border-t s-border-border/60 s-transition-all s-duration-300 dark:s-border-border-night/60"
195
+ )}
196
+ >
197
+ <div className="s-relative s-flex s-h-full s-flex-col s-gap-5 s-p-5 s-text-left s-text-sm s-text-foreground dark:s-text-foreground-night">
198
+ {children}
199
+ </div>
193
200
  </div>
194
- </ScrollArea>
201
+ </ScrollContainer>
195
202
  );
196
203
  };
197
204
  SheetContainer.displayName = "SheetContainer";
@@ -607,6 +607,67 @@ export const ScrollableDataTableExample = () => {
607
607
  );
608
608
  };
609
609
 
610
+ export const ScrollableDataTableFullHeightExample = () => {
611
+ const [filter, setFilter] = useState("");
612
+ const [rowSelection, setRowSelection] = useState<RowSelectionState>({});
613
+ const [data, setData] = useState(() => createData(0, 50));
614
+ const [isLoading, setIsLoading] = useState(false);
615
+
616
+ // Load more data when user scrolls to bottom
617
+ const loadMore = useCallback(() => {
618
+ setIsLoading(true);
619
+
620
+ // Simulate API call delay
621
+ setTimeout(() => {
622
+ setData((prevData) => [...prevData, ...createData(prevData.length, 50)]);
623
+ setIsLoading(false);
624
+ }, 1000);
625
+ }, []);
626
+
627
+ const columnsWithSize = columns.map((column, index) => {
628
+ return { ...column, meta: { sizeRatio: index % 2 === 0 ? 15 : 10 } };
629
+ });
630
+
631
+ const columnsWithSelection: ColumnDef<Data>[] = useMemo(
632
+ () => [createSelectionColumn<Data>(), ...columnsWithSize],
633
+ []
634
+ );
635
+ return (
636
+ <div className="s-flex s-w-full s-max-w-4xl s-flex-col s-gap-6">
637
+ <h3 className="s-text-lg s-font-medium">
638
+ Virtualized ScrollableDataTable with Infinite Scrolling based on parent
639
+ height
640
+ </h3>
641
+
642
+ <div className="s-flex s-h-[400px] s-flex-col s-gap-4">
643
+ <Input
644
+ name="filter"
645
+ placeholder="Filter"
646
+ value={filter}
647
+ onChange={(e) => setFilter(e.target.value)}
648
+ />
649
+
650
+ <ScrollableDataTable
651
+ data={data}
652
+ filter={filter}
653
+ filterColumn="name"
654
+ columns={columnsWithSelection}
655
+ onLoadMore={loadMore}
656
+ isLoading={isLoading}
657
+ maxHeight
658
+ rowSelection={rowSelection}
659
+ setRowSelection={setRowSelection}
660
+ enableRowSelection={true}
661
+ />
662
+
663
+ <div className="s-text-sm s-text-muted-foreground">
664
+ Loaded {data.length} rows. Scroll to the bottom to load more.
665
+ </div>
666
+ </div>
667
+ </div>
668
+ );
669
+ };
670
+
610
671
  export const DataTableWithRowSelectionExample = () => {
611
672
  const [rowSelection, setRowSelection] = useState<RowSelectionState>({});
612
673
  const [data] = useState<Data[]>(() => createData(0, 10));