@dxos/react-ui-table 0.4.8-main.f998f66 → 0.4.8-next.06fa7e4

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.
Files changed (31) hide show
  1. package/dist/lib/browser/index.mjs +275 -191
  2. package/dist/lib/browser/index.mjs.map +4 -4
  3. package/dist/lib/browser/meta.json +1 -1
  4. package/dist/types/src/components/Cell/Cell.d.ts.map +1 -1
  5. package/dist/types/src/components/ColumnMenu.d.ts.map +1 -1
  6. package/dist/types/src/components/ColumnMenu.stories.d.ts +10 -1
  7. package/dist/types/src/components/ColumnMenu.stories.d.ts.map +1 -1
  8. package/dist/types/src/components/SortButton.d.ts +8 -0
  9. package/dist/types/src/components/SortButton.d.ts.map +1 -0
  10. package/dist/types/src/components/Table/Table.d.ts +2 -0
  11. package/dist/types/src/components/Table/Table.d.ts.map +1 -1
  12. package/dist/types/src/components/Table/Table.stories.d.ts.map +1 -1
  13. package/dist/types/src/components/Table/TableBody.d.ts.map +1 -1
  14. package/dist/types/src/components/Table/TableHead.d.ts.map +1 -1
  15. package/dist/types/src/components/Table/props.d.ts +1 -0
  16. package/dist/types/src/components/Table/props.d.ts.map +1 -1
  17. package/dist/types/src/helpers.d.ts.map +1 -1
  18. package/dist/types/src/theme.d.ts +1 -1
  19. package/dist/types/src/theme.d.ts.map +1 -1
  20. package/package.json +15 -15
  21. package/src/components/Cell/Cell.tsx +4 -1
  22. package/src/components/ColumnMenu.stories.tsx +13 -6
  23. package/src/components/ColumnMenu.tsx +13 -4
  24. package/src/components/SortButton.tsx +34 -0
  25. package/src/components/Table/Table.stories.tsx +51 -62
  26. package/src/components/Table/Table.tsx +65 -41
  27. package/src/components/Table/TableBody.tsx +1 -0
  28. package/src/components/Table/TableHead.tsx +4 -2
  29. package/src/components/Table/props.ts +1 -0
  30. package/src/helpers.tsx +61 -45
  31. package/src/theme.ts +3 -1
@@ -1 +1 @@
1
- {"version":3,"file":"Cell.d.ts","sourceRoot":"","sources":["../../../../../src/components/Cell/Cell.tsx"],"names":[],"mappings":"AAKA,OAAO,EAAE,KAAK,IAAI,IAAI,QAAQ,EAAE,KAAK,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAC5E,OAAc,EAAE,KAAK,iBAAiB,EAAE,MAAM,OAAO,CAAC;AAKtD,KAAK,SAAS,CAAC,KAAK,SAAS,OAAO,EAAE,MAAM,IAAI,iBAAiB,CAAC;IAChE,IAAI,EAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;CAC/B,CAAC,CAAC;AAmBH,QAAA,MAAM,IAAI;;;CAIT,CAAC;AAIF,OAAO,EAAE,IAAI,EAAE,CAAC;AAEhB,YAAY,EAAE,SAAS,EAAE,CAAC"}
1
+ {"version":3,"file":"Cell.d.ts","sourceRoot":"","sources":["../../../../../src/components/Cell/Cell.tsx"],"names":[],"mappings":"AAKA,OAAO,EAAE,KAAK,IAAI,IAAI,QAAQ,EAAE,KAAK,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAC5E,OAAc,EAAE,KAAK,iBAAiB,EAAE,MAAM,OAAO,CAAC;AAKtD,KAAK,SAAS,CAAC,KAAK,SAAS,OAAO,EAAE,MAAM,IAAI,iBAAiB,CAAC;IAChE,IAAI,EAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;CAC/B,CAAC,CAAC;AAsBH,QAAA,MAAM,IAAI;;;CAIT,CAAC;AAIF,OAAO,EAAE,IAAI,EAAE,CAAC;AAEhB,YAAY,EAAE,SAAS,EAAE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"ColumnMenu.d.ts","sourceRoot":"","sources":["../../../../src/components/ColumnMenu.tsx"],"names":[],"mappings":"AAKA,OAAO,EAAE,KAAK,aAAa,EAAE,KAAK,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAOzE,OAAO,EAAE,KAAK,QAAQ,EAAE,KAAK,WAAW,EAAmB,MAAM,WAAW,CAAC;AAG7E,MAAM,MAAM,eAAe,CAAC,KAAK,SAAS,OAAO,EAAE,MAAM,IAAI;IAC3D,OAAO,EAAE,aAAa,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IACtC,SAAS,EAAE,QAAQ,EAAE,CAAC;IACtB,QAAQ,EAAE,QAAQ,CAAC;IACnB,MAAM,EAAE,WAAW,CAAC;IACpB,QAAQ,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,KAAK,IAAI,CAAC;IACrD,QAAQ,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;CACjC,CAAC;AAEF,eAAO,MAAM,UAAU,sGAYtB,CAAC;AAQF,eAAO,MAAM,WAAW,+IAkMvB,CAAC"}
1
+ {"version":3,"file":"ColumnMenu.d.ts","sourceRoot":"","sources":["../../../../src/components/ColumnMenu.tsx"],"names":[],"mappings":"AAKA,OAAO,EAAE,KAAK,aAAa,EAAE,KAAK,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAQzE,OAAO,EAAE,KAAK,QAAQ,EAAE,KAAK,WAAW,EAAmB,MAAM,WAAW,CAAC;AAG7E,MAAM,MAAM,eAAe,CAAC,KAAK,SAAS,OAAO,EAAE,MAAM,IAAI;IAC3D,OAAO,EAAE,aAAa,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IACtC,SAAS,EAAE,QAAQ,EAAE,CAAC;IACtB,QAAQ,EAAE,QAAQ,CAAC;IACnB,MAAM,EAAE,WAAW,CAAC;IACpB,QAAQ,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,KAAK,IAAI,CAAC;IACrD,QAAQ,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;CACjC,CAAC;AAEF,eAAO,MAAM,UAAU,sGAoBtB,CAAC;AAQF,eAAO,MAAM,WAAW,+IAkMvB,CAAC"}
@@ -2,13 +2,22 @@ import '@dxosTheme';
2
2
  import { type ColumnProps } from '../schema';
3
3
  declare const _default: {
4
4
  title: string;
5
- component: <TData extends unknown, TValue>({ context, tableDefs, tableDef, column, onUpdate, onDelete, }: import("./ColumnMenu").ColumnMenuProps<TData, TValue>) => JSX.Element;
5
+ component: <TData extends unknown, TValue>({ column, ...props }: import("./ColumnMenu").ColumnMenuProps<TData, TValue>) => JSX.Element;
6
6
  decorators: import("@storybook/react").Decorator[];
7
7
  };
8
8
  export default _default;
9
9
  export declare const Default: {
10
10
  args: {
11
11
  column: ColumnProps;
12
+ context: {
13
+ header: {
14
+ column: {
15
+ getCanSort: () => boolean;
16
+ getToggleSortingHandler: () => () => void;
17
+ getIsSorted: () => boolean;
18
+ };
19
+ };
20
+ };
12
21
  };
13
22
  decorators: ((Story: any) => JSX.Element)[];
14
23
  parameters: {
@@ -1 +1 @@
1
- {"version":3,"file":"ColumnMenu.stories.d.ts","sourceRoot":"","sources":["../../../../src/components/ColumnMenu.stories.tsx"],"names":[],"mappings":"AAIA,OAAO,YAAY,CAAC;AAOpB,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,WAAW,CAAC;;;;;;AAE7C,wBAIE;AAEF,eAAO,MAAM,OAAO;;;;yBAQR,GAAG;;;;CAWd,CAAC"}
1
+ {"version":3,"file":"ColumnMenu.stories.d.ts","sourceRoot":"","sources":["../../../../src/components/ColumnMenu.stories.tsx"],"names":[],"mappings":"AAIA,OAAO,YAAY,CAAC;AAOpB,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,WAAW,CAAC;;;;;;AAE7C,wBAIE;AAEF,eAAO,MAAM,OAAO;;;;;;;;;;;;;yBAiBR,GAAG;;;;CASd,CAAC"}
@@ -0,0 +1,8 @@
1
+ import { type SortDirection } from '@tanstack/react-table';
2
+ type SortButtonProps = {
3
+ sortDirection: false | SortDirection;
4
+ onClick: (e: any) => void;
5
+ };
6
+ export declare const SortButton: ({ sortDirection, onClick }: SortButtonProps) => JSX.Element;
7
+ export {};
8
+ //# sourceMappingURL=SortButton.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SortButton.d.ts","sourceRoot":"","sources":["../../../../src/components/SortButton.tsx"],"names":[],"mappings":"AAKA,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAM3D,KAAK,eAAe,GAAG;IAAE,aAAa,EAAE,KAAK,GAAG,aAAa,CAAC;IAAC,OAAO,EAAE,CAAC,CAAC,EAAE,GAAG,KAAK,IAAI,CAAA;CAAE,CAAC;AAE3F,eAAO,MAAM,UAAU,+BAAgC,eAAe,gBAoBrE,CAAC"}
@@ -1,3 +1,5 @@
1
+ import { type VirtualizerOptions } from '@tanstack/react-virtual';
1
2
  import { type TableProps } from './props';
2
3
  export declare const Table: <TData extends unknown>(props: TableProps<TData>) => JSX.Element;
4
+ export declare const MemoizedVirtualisedTableContent: ({ getScrollElement, }: Pick<VirtualizerOptions<Element, Element>, 'getScrollElement'>) => JSX.Element;
3
5
  //# sourceMappingURL=Table.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Table.d.ts","sourceRoot":"","sources":["../../../../../src/components/Table/Table.tsx"],"names":[],"mappings":"AAyBA,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,SAAS,CAAC;AAG1C,eAAO,MAAM,KAAK,kEAgJjB,CAAC"}
1
+ {"version":3,"file":"Table.d.ts","sourceRoot":"","sources":["../../../../../src/components/Table/Table.tsx"],"names":[],"mappings":"AAiBA,OAAO,EAAkB,KAAK,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAUlF,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,SAAS,CAAC;AAG1C,eAAO,MAAM,KAAK,kEAuJjB,CAAC;AA+FF,eAAO,MAAM,+BAA+B,0BA1CzC,KAAK,mBAAmB,OAAO,EAAE,OAAO,CAAC,EAAE,kBAAkB,CAAC,gBA0CmD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"Table.stories.d.ts","sourceRoot":"","sources":["../../../../../src/components/Table/Table.stories.tsx"],"names":[],"mappings":"AAIA,OAAO,YAAY,CAAC;AAMpB,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAQvC,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,aAAa,CAAC;AAKlD,KAAK,IAAI,GAAG;IACV,SAAS,EAAE,SAAS,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,IAAI,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;;;;;;4BAwGsB,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAL5B,wBAkDE;AAEF,eAAO,MAAM,OAAO;;;;;CAKnB,CAAC;AAEF,eAAO,MAAM,SAAS;;;;;CAKrB,CAAC;AAEF,eAAO,MAAM,UAAU;;;;;;;;;CAMtB,CAAC;AAEF,eAAO,MAAM,KAAK;;;;CAIjB,CAAC;AAEF,eAAO,MAAM,OAAO;;CAgCnB,CAAC;AAEF,eAAO,MAAM,QAAQ;;CAwBpB,CAAC;AAEF,eAAO,MAAM,SAAS;;CAuBrB,CAAC;AAEF,eAAO,MAAM,eAAe;;CAyB3B,CAAC"}
1
+ {"version":3,"file":"Table.stories.d.ts","sourceRoot":"","sources":["../../../../../src/components/Table/Table.stories.tsx"],"names":[],"mappings":"AAIA,OAAO,YAAY,CAAC;AAMpB,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAQvC,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,aAAa,CAAC;AAKlD,KAAK,IAAI,GAAG;IACV,SAAS,EAAE,SAAS,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,IAAI,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;;;;;;4BA4FsB,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAL5B,wBAuCE;AAEF,eAAO,MAAM,OAAO;;;;;CAKnB,CAAC;AAEF,eAAO,MAAM,SAAS;;;;;CAKrB,CAAC;AAEF,eAAO,MAAM,UAAU;;;;;;;;;CAMtB,CAAC;AAEF,eAAO,MAAM,KAAK;;;;CAIjB,CAAC;AAEF,eAAO,MAAM,OAAO;;CAmCnB,CAAC;AAEF,eAAO,MAAM,QAAQ;;CA4BpB,CAAC;AAEF,eAAO,MAAM,SAAS;;CAyBrB,CAAC;AAEF,eAAO,MAAM,eAAe;;CA4B3B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"TableBody.d.ts","sourceRoot":"","sources":["../../../../../src/components/Table/TableBody.tsx"],"names":[],"mappings":"AAKA,OAAO,EAAc,KAAK,GAAG,EAAE,KAAK,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAS3E,KAAK,cAAc,CAAC,KAAK,SAAS,OAAO,IAAI;IAC3C,IAAI,EAAE,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;CACpB,CAAC;AAEF,QAAA,MAAM,SAAS;;;CA8Cd,CAAC;AAIF,OAAO,EAAE,SAAS,EAAE,CAAC;AAErB,YAAY,EAAE,cAAc,EAAE,CAAC"}
1
+ {"version":3,"file":"TableBody.d.ts","sourceRoot":"","sources":["../../../../../src/components/Table/TableBody.tsx"],"names":[],"mappings":"AAKA,OAAO,EAAc,KAAK,GAAG,EAAE,KAAK,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAS3E,KAAK,cAAc,CAAC,KAAK,SAAS,OAAO,IAAI;IAC3C,IAAI,EAAE,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;CACpB,CAAC;AAEF,QAAA,MAAM,SAAS;;;CA+Cd,CAAC;AAIF,OAAO,EAAE,SAAS,EAAE,CAAC;AAErB,YAAY,EAAE,cAAc,EAAE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"TableHead.d.ts","sourceRoot":"","sources":["../../../../../src/components/Table/TableHead.tsx"],"names":[],"mappings":"AAcA,KAAK,cAAc,GAAG,EAAE,CAAC;AAEzB,QAAA,MAAM,SAAS;oCAAmC,cAAc;;CA0D/D,CAAC;AAIF,OAAO,EAAE,SAAS,EAAE,CAAC;AAErB,YAAY,EAAE,cAAc,EAAE,CAAC"}
1
+ {"version":3,"file":"TableHead.d.ts","sourceRoot":"","sources":["../../../../../src/components/Table/TableHead.tsx"],"names":[],"mappings":"AAcA,KAAK,cAAc,GAAG,EAAE,CAAC;AAEzB,QAAA,MAAM,SAAS;oCAAmC,cAAc;;CA4D/D,CAAC;AAIF,OAAO,EAAE,SAAS,EAAE,CAAC;AAErB,YAAY,EAAE,cAAc,EAAE,CAAC"}
@@ -32,6 +32,7 @@ export type TableProps<TData extends RowData, ScrollElement extends Element | Wi
32
32
  onRowSelectionChange: (rowSelection: RowSelectionState) => void;
33
33
  onDataSelectionChange: (dataSelection: TData[]) => void;
34
34
  classNames: ClassNameValue;
35
+ pinLastRow: boolean;
35
36
  } & Pick<VirtualizerOptions<ScrollElement, ItemElement>, 'getScrollElement'>>;
36
37
  export type { RowSelectionState, VisibilityState, TableColumnDef, KeyValue };
37
38
  export type TableContextValue<TData extends RowData> = TableFlags & TableCurrent<TData> & Pick<TableProps<TData>, 'keyAccessor'> & {
@@ -1 +1 @@
1
- {"version":3,"file":"props.d.ts","sourceRoot":"","sources":["../../../../../src/components/Table/props.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,OAAO,EAAE,KAAK,iBAAiB,EAAE,KAAK,KAAK,EAAE,KAAK,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAC/G,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAElE,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAE3D,OAAO,EAAE,KAAK,QAAQ,EAAE,KAAK,cAAc,EAAE,MAAM,aAAa,CAAC;AAEjE,MAAM,MAAM,UAAU,GAAG,OAAO,CAAC;IAC/B,IAAI,EAAE,OAAO,GAAG,MAAM,GAAG,UAAU,CAAC;IACpC,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE,OAAO,CAAC;IAChB,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,OAAO,CAAC;IAChB,YAAY,EAAE,OAAO,CAAC;IACtB,cAAc,EAAE,OAAO,GAAG,OAAO,CAAC;CACnC,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,MAAM,YAAY,CAAC,KAAK,SAAS,OAAO,IAAI,OAAO,CAAC;IAExD,YAAY,EAAE,KAAK,CAAC;IACpB,YAAY,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;CACtC,CAAC,CAAC;AAEH,MAAM,MAAM,UAAU,CACpB,KAAK,SAAS,OAAO,EACrB,aAAa,SAAS,OAAO,GAAG,MAAM,GAAG,OAAO,EAChD,WAAW,SAAS,OAAO,GAAG,mBAAmB,IAC/C,UAAU,GACZ,YAAY,CAAC,KAAK,CAAC,GACnB,OAAO,CACL;IACE,WAAW,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC7B,IAAI,EAAE,KAAK,EAAE,CAAC;IACd,OAAO,EAAE,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC;IACjC,cAAc,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,IAAI,CAAC;IACxD,gBAAgB,EAAE,eAAe,CAAC;IAElC,YAAY,EAAE,iBAAiB,CAAC;IAChC,mBAAmB,EAAE,iBAAiB,CAAC;IACvC,oBAAoB,EAAE,CAAC,YAAY,EAAE,iBAAiB,KAAK,IAAI,CAAC;IAEhE,qBAAqB,EAAE,CAAC,aAAa,EAAE,KAAK,EAAE,KAAK,IAAI,CAAC;IAExD,UAAU,EAAE,cAAc,CAAC;CAC5B,GAAG,IAAI,CAAC,kBAAkB,CAAC,aAAa,EAAE,WAAW,CAAC,EAAE,kBAAkB,CAAC,CAC7E,CAAC;AAEJ,YAAY,EAAE,iBAAiB,EAAE,eAAe,EAAE,cAAc,EAAE,QAAQ,EAAE,CAAC;AAE7E,MAAM,MAAM,iBAAiB,CAAC,KAAK,SAAS,OAAO,IAAI,UAAU,GAC/D,YAAY,CAAC,KAAK,CAAC,GACnB,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,aAAa,CAAC,GAAG;IACvC,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;IACpB,MAAM,EAAE,OAAO,CAAC;CACjB,CAAC"}
1
+ {"version":3,"file":"props.d.ts","sourceRoot":"","sources":["../../../../../src/components/Table/props.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,OAAO,EAAE,KAAK,iBAAiB,EAAE,KAAK,KAAK,EAAE,KAAK,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAC/G,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAElE,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAE3D,OAAO,EAAE,KAAK,QAAQ,EAAE,KAAK,cAAc,EAAE,MAAM,aAAa,CAAC;AAEjE,MAAM,MAAM,UAAU,GAAG,OAAO,CAAC;IAC/B,IAAI,EAAE,OAAO,GAAG,MAAM,GAAG,UAAU,CAAC;IACpC,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE,OAAO,CAAC;IAChB,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,OAAO,CAAC;IAChB,YAAY,EAAE,OAAO,CAAC;IACtB,cAAc,EAAE,OAAO,GAAG,OAAO,CAAC;CACnC,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,MAAM,YAAY,CAAC,KAAK,SAAS,OAAO,IAAI,OAAO,CAAC;IAExD,YAAY,EAAE,KAAK,CAAC;IACpB,YAAY,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;CACtC,CAAC,CAAC;AAEH,MAAM,MAAM,UAAU,CACpB,KAAK,SAAS,OAAO,EACrB,aAAa,SAAS,OAAO,GAAG,MAAM,GAAG,OAAO,EAChD,WAAW,SAAS,OAAO,GAAG,mBAAmB,IAC/C,UAAU,GACZ,YAAY,CAAC,KAAK,CAAC,GACnB,OAAO,CACL;IACE,WAAW,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC7B,IAAI,EAAE,KAAK,EAAE,CAAC;IACd,OAAO,EAAE,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC;IACjC,cAAc,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,IAAI,CAAC;IACxD,gBAAgB,EAAE,eAAe,CAAC;IAElC,YAAY,EAAE,iBAAiB,CAAC;IAChC,mBAAmB,EAAE,iBAAiB,CAAC;IACvC,oBAAoB,EAAE,CAAC,YAAY,EAAE,iBAAiB,KAAK,IAAI,CAAC;IAEhE,qBAAqB,EAAE,CAAC,aAAa,EAAE,KAAK,EAAE,KAAK,IAAI,CAAC;IAExD,UAAU,EAAE,cAAc,CAAC;IAC3B,UAAU,EAAE,OAAO,CAAC;CACrB,GAAG,IAAI,CAAC,kBAAkB,CAAC,aAAa,EAAE,WAAW,CAAC,EAAE,kBAAkB,CAAC,CAC7E,CAAC;AAEJ,YAAY,EAAE,iBAAiB,EAAE,eAAe,EAAE,cAAc,EAAE,QAAQ,EAAE,CAAC;AAE7E,MAAM,MAAM,iBAAiB,CAAC,KAAK,SAAS,OAAO,IAAI,UAAU,GAC/D,YAAY,CAAC,KAAK,CAAC,GACnB,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,aAAa,CAAC,GAAG;IACvC,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;IACpB,MAAM,EAAE,OAAO,CAAC;CACjB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../src/helpers.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../src/helpers.tsx"],"names":[],"mappings":"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"}
@@ -6,7 +6,7 @@ export declare const selectedRow = "!bg-primary-100 dark:!bg-primary-700";
6
6
  export declare const flushPadding = "pli-0 plb-0";
7
7
  export declare const textPadding = "pli-2 plb-0.5";
8
8
  export declare const headPadding = "pli-2 plb-1.5";
9
- export declare const gridCellFocusRing = "focus:z-[11] focus:outline outline-2 outline-primary-500 dark:outline-primary-400";
9
+ export declare const gridCellFocusRing = "focus-within:z-[11] focus-within:outline outline-2 outline-primary-500 dark:outline-primary-400";
10
10
  export type TableStyleProps = Partial<TableContextValue<any>>;
11
11
  export declare const tableRoot: ComponentFunction<TableStyleProps>;
12
12
  export declare const groupTh: ComponentFunction<TableStyleProps>;
@@ -1 +1 @@
1
- {"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../../../src/theme.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAWzD,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAE9D,OAAO,EAAE,KAAK,iBAAiB,EAAE,KAAK,UAAU,EAAE,MAAM,cAAc,CAAC;AAEvE,eAAO,MAAM,UAAU,wCAAwC,CAAC;AAChE,eAAO,MAAM,WAAW,yCAAyC,CAAC;AAClE,eAAO,MAAM,YAAY,gBAAgB,CAAC;AAC1C,eAAO,MAAM,WAAW,kBAAkB,CAAC;AAC3C,eAAO,MAAM,WAAW,kBAAkB,CAAC;AAE3C,eAAO,MAAM,iBAAiB,sFAAsF,CAAC;AAMrH,MAAM,MAAM,eAAe,GAAG,OAAO,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC;AAE9D,eAAO,MAAM,SAAS,EAAE,iBAAiB,CAAC,eAAe,CACN,CAAC;AAEpD,eAAO,MAAM,OAAO,EAAE,iBAAiB,CAAC,eAAe,CACH,CAAC;AAMrD,MAAM,MAAM,eAAe,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;AAElD,eAAO,MAAM,SAAS,EAAE,iBAAiB,CAAC,eAAe,CAC4D,CAAC;AAEtH,eAAO,MAAM,OAAO,EAAE,iBAAiB,CAAC,eAAe,CAA2C,CAAC;AAEnG,eAAO,MAAM,OAAO,EAAE,iBAAiB,CAAC,eAAe,CAOpD,CAAC;AAEJ,eAAO,MAAM,eAAe,EAAE,iBAAiB,CAAC,eAAe,CAI5D,CAAC;AAEJ,eAAO,MAAM,gBAAgB,EAAE,iBAAiB,CAAC,eAAe,CACQ,CAAC;AAMzE,MAAM,MAAM,eAAe,GAAG,OAAO,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC;AAC9D,eAAO,MAAM,SAAS,EAAE,iBAAiB,CAAC,eAAe,CAAkC,CAAC;AAE5F,MAAM,MAAM,iBAAiB,GAAG,OAAO,CAAC;IAAE,YAAY,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC,CAAC;AACpE,eAAO,MAAM,OAAO,EAAE,iBAAiB,CAAC,iBAAiB,CAOtD,CAAC;AAMJ,eAAO,MAAM,MAAM,EAAE,iBAAiB,CAAC,eAAe,CACwD,CAAC;AAC/G,eAAO,MAAM,SAAS,EAAE,iBAAiB,CAAC,WAAW,CAAC,GAAG,EAAE,GAAG,CAAC,CAAkC,CAAC;AAMlG,MAAM,MAAM,eAAe,GAAG,OAAO,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC;AAE9D,eAAO,MAAM,SAAS,EAAE,iBAAiB,CAAC,eAAe,CACJ,CAAC;AAEtD,eAAO,MAAM,OAAO,EAAE,iBAAiB,CAAC,eAAe,CAAkC,CAAC;AAE1F,eAAO,MAAM,OAAO,EAAE,iBAAiB,CAAC,eAAe,CACO,CAAC"}
1
+ {"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../../../src/theme.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAWzD,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAE9D,OAAO,EAAE,KAAK,iBAAiB,EAAE,KAAK,UAAU,EAAE,MAAM,cAAc,CAAC;AAEvE,eAAO,MAAM,UAAU,wCAAwC,CAAC;AAChE,eAAO,MAAM,WAAW,yCAAyC,CAAC;AAClE,eAAO,MAAM,YAAY,gBAAgB,CAAC;AAC1C,eAAO,MAAM,WAAW,kBAAkB,CAAC;AAC3C,eAAO,MAAM,WAAW,kBAAkB,CAAC;AAE3C,eAAO,MAAM,iBAAiB,oGACqE,CAAC;AAMpG,MAAM,MAAM,eAAe,GAAG,OAAO,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC;AAE9D,eAAO,MAAM,SAAS,EAAE,iBAAiB,CAAC,eAAe,CACN,CAAC;AAEpD,eAAO,MAAM,OAAO,EAAE,iBAAiB,CAAC,eAAe,CACH,CAAC;AAMrD,MAAM,MAAM,eAAe,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;AAElD,eAAO,MAAM,SAAS,EAAE,iBAAiB,CAAC,eAAe,CAC4D,CAAC;AAEtH,eAAO,MAAM,OAAO,EAAE,iBAAiB,CAAC,eAAe,CAA2C,CAAC;AAEnG,eAAO,MAAM,OAAO,EAAE,iBAAiB,CAAC,eAAe,CAOpD,CAAC;AAEJ,eAAO,MAAM,eAAe,EAAE,iBAAiB,CAAC,eAAe,CAI5D,CAAC;AAEJ,eAAO,MAAM,gBAAgB,EAAE,iBAAiB,CAAC,eAAe,CACQ,CAAC;AAMzE,MAAM,MAAM,eAAe,GAAG,OAAO,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC;AAC9D,eAAO,MAAM,SAAS,EAAE,iBAAiB,CAAC,eAAe,CAAkC,CAAC;AAE5F,MAAM,MAAM,iBAAiB,GAAG,OAAO,CAAC;IAAE,YAAY,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC,CAAC;AACpE,eAAO,MAAM,OAAO,EAAE,iBAAiB,CAAC,iBAAiB,CAOtD,CAAC;AAMJ,eAAO,MAAM,MAAM,EAAE,iBAAiB,CAAC,eAAe,CACwD,CAAC;AAE/G,eAAO,MAAM,SAAS,EAAE,iBAAiB,CAAC,WAAW,CAAC,GAAG,EAAE,GAAG,CAAC,CAAkC,CAAC;AAMlG,MAAM,MAAM,eAAe,GAAG,OAAO,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC;AAE9D,eAAO,MAAM,SAAS,EAAE,iBAAiB,CAAC,eAAe,CACJ,CAAC;AAEtD,eAAO,MAAM,OAAO,EAAE,iBAAiB,CAAC,eAAe,CAAkC,CAAC;AAE1F,eAAO,MAAM,OAAO,EAAE,iBAAiB,CAAC,eAAe,CACO,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dxos/react-ui-table",
3
- "version": "0.4.8-main.f998f66",
3
+ "version": "0.4.8-next.06fa7e4",
4
4
  "description": "A table component.",
5
5
  "homepage": "https://dxos.org",
6
6
  "bugs": "https://github.com/dxos/dxos/issues",
@@ -19,18 +19,18 @@
19
19
  "@fluentui/react-tabster": "^9.19.0",
20
20
  "@radix-ui/react-context": "^1.0.0",
21
21
  "@radix-ui/react-use-controllable-state": "^1.0.0",
22
- "@tanstack/react-table": "^8.9.3",
22
+ "@tanstack/react-table": "^8.13.2",
23
23
  "@tanstack/react-virtual": "^3.0.1",
24
24
  "date-fns": "^3.3.1",
25
- "@dxos/async": "0.4.8-main.f998f66",
26
- "@dxos/invariant": "0.4.8-main.f998f66",
27
- "@dxos/keys": "0.4.8-main.f998f66",
28
- "@dxos/log": "0.4.8-main.f998f66",
29
- "@dxos/react-ui": "0.4.8-main.f998f66",
30
- "@dxos/react-ui-theme": "0.4.8-main.f998f66",
31
- "@dxos/react-ui-types": "0.4.8-main.f998f66",
32
- "@dxos/react-ui-searchlist": "0.4.8-main.f998f66",
33
- "@dxos/util": "0.4.8-main.f998f66"
25
+ "@dxos/invariant": "0.4.8-next.06fa7e4",
26
+ "@dxos/keys": "0.4.8-next.06fa7e4",
27
+ "@dxos/async": "0.4.8-next.06fa7e4",
28
+ "@dxos/react-ui-searchlist": "0.4.8-next.06fa7e4",
29
+ "@dxos/log": "0.4.8-next.06fa7e4",
30
+ "@dxos/react-ui": "0.4.8-next.06fa7e4",
31
+ "@dxos/react-ui-theme": "0.4.8-next.06fa7e4",
32
+ "@dxos/util": "0.4.8-next.06fa7e4",
33
+ "@dxos/react-ui-types": "0.4.8-next.06fa7e4"
34
34
  },
35
35
  "devDependencies": {
36
36
  "@phosphor-icons/react": "^2.0.5",
@@ -40,10 +40,10 @@
40
40
  "react-dom": "^18.2.0",
41
41
  "vite": "^5.1.5",
42
42
  "vite-plugin-turbosnap": "^1.0.2",
43
- "@dxos/echo-schema": "0.4.8-main.f998f66",
44
- "@dxos/storybook-utils": "0.4.8-main.f998f66",
45
- "@dxos/react-ui-theme": "0.4.8-main.f998f66",
46
- "@dxos/random": "0.4.8-main.f998f66"
43
+ "@dxos/react-ui-theme": "0.4.8-next.06fa7e4",
44
+ "@dxos/echo-schema": "0.4.8-next.06fa7e4",
45
+ "@dxos/random": "0.4.8-next.06fa7e4",
46
+ "@dxos/storybook-utils": "0.4.8-next.06fa7e4"
47
47
  },
48
48
  "peerDependencies": {
49
49
  "@phosphor-icons/react": "^2.0.5",
@@ -18,8 +18,11 @@ const CELL_NAME = 'Cell';
18
18
  const FocusableCell = <TData extends RowData, TValue>({ cell, children }: CellProps<TData, TValue>) => {
19
19
  const tableContext = useTableContext(CELL_NAME);
20
20
  const domAttributes = useFocusableGroup({ tabBehavior: 'limited' });
21
+
22
+ const className = tdRoot(tableContext, cell.column.columnDef.meta?.cell?.classNames);
23
+
21
24
  return (
22
- <td tabIndex={0} {...domAttributes} className={tdRoot(tableContext, cell.column.columnDef.meta?.cell?.classNames)}>
25
+ <td tabIndex={0} {...domAttributes} className={className}>
23
26
  {children}
24
27
  </td>
25
28
  );
@@ -8,12 +8,12 @@ import React from 'react';
8
8
 
9
9
  import { withTheme } from '@dxos/storybook-utils';
10
10
 
11
- import { ColumnPanel } from './ColumnMenu';
11
+ import { ColumnMenu } from './ColumnMenu';
12
12
  import { type ColumnProps } from '../schema';
13
13
 
14
14
  export default {
15
- title: 'react-ui-table/ColumnPanel',
16
- component: ColumnPanel,
15
+ title: 'react-ui-table/ColumnMenu',
16
+ component: ColumnMenu,
17
17
  decorators: [withTheme],
18
18
  };
19
19
 
@@ -23,13 +23,20 @@ export const Default = {
23
23
  id: 'test',
24
24
  label: 'test',
25
25
  } as ColumnProps,
26
+ context: {
27
+ header: {
28
+ column: {
29
+ getCanSort: () => true,
30
+ getToggleSortingHandler: () => () => console.log('toggleSort'),
31
+ getIsSorted: () => false,
32
+ },
33
+ },
34
+ },
26
35
  },
27
36
  decorators: [
28
37
  (Story: any) => (
29
38
  <div className='flex flex-col items-center h-screen w-full overflow-hidden'>
30
- <div className='flex w-[250px] m-8 bg-white'>
31
- <Story />
32
- </div>
39
+ <Story />
33
40
  </div>
34
41
  ),
35
42
  ],
@@ -2,7 +2,7 @@
2
2
  // Copyright 2023 DXOS.org
3
3
  //
4
4
 
5
- import { Check, CaretDown, Trash, X } from '@phosphor-icons/react';
5
+ import { Check, Trash, X, GearSix } from '@phosphor-icons/react';
6
6
  import { type HeaderContext, type RowData } from '@tanstack/react-table';
7
7
  import React, { type FC, type PropsWithChildren, useRef, useState } from 'react';
8
8
 
@@ -10,6 +10,7 @@ import { Button, DensityProvider, Input, Popover, Select, Separator, useTranslat
10
10
  import { getSize, mx } from '@dxos/react-ui-theme';
11
11
  import { safeParseInt } from '@dxos/util';
12
12
 
13
+ import { SortButton } from './SortButton';
13
14
  import { type TableDef, type ColumnProps, type ColumnType } from '../schema';
14
15
  import { translationKey } from '../translations';
15
16
 
@@ -24,12 +25,20 @@ export type ColumnMenuProps<TData extends RowData, TValue> = {
24
25
 
25
26
  export const ColumnMenu = <TData extends RowData, TValue>({ column, ...props }: ColumnMenuProps<TData, TValue>) => {
26
27
  const title = column.label?.length ? column.label : column.id;
28
+
29
+ const header = props.context.header;
30
+
31
+ const canSort = header.column.getCanSort();
32
+ const sortDirection = header.column.getIsSorted();
33
+ const toggleSort = header.column.getToggleSortingHandler();
34
+
27
35
  return (
28
36
  <div className='flex items-center gap-2'>
29
37
  <div className='flex-1 min-is-0 truncate' title={title}>
30
38
  {title}
31
39
  </div>
32
- <div className='flex shrink-0'>
40
+ <div className='flex gap-0'>
41
+ {canSort && toggleSort && <SortButton sortDirection={sortDirection} onClick={toggleSort} />}
33
42
  <ColumnPanel {...props} column={column} />
34
43
  </div>
35
44
  </div>
@@ -99,8 +108,8 @@ export const ColumnPanel = <TData extends RowData, TValue>({
99
108
  return (
100
109
  <Popover.Root open={open} onOpenChange={(nextOpen) => setOpen(nextOpen)}>
101
110
  <Popover.Trigger asChild>
102
- <Button variant='ghost' classNames='p-1'>
103
- <CaretDown className={getSize(4)} />
111
+ <Button variant='ghost'>
112
+ <GearSix className={mx(getSize(4), 'rotate-90')} />
104
113
  </Button>
105
114
  </Popover.Trigger>
106
115
  <Popover.Portal>
@@ -0,0 +1,34 @@
1
+ //
2
+ // Copyright 2024 DXOS.org
3
+ //
4
+
5
+ import { CaretUpDown, SortAscending, SortDescending } from '@phosphor-icons/react';
6
+ import { type SortDirection } from '@tanstack/react-table';
7
+ import React, { type ReactElement } from 'react';
8
+
9
+ import { Button } from '@dxos/react-ui';
10
+ import { getSize } from '@dxos/react-ui-theme';
11
+
12
+ type SortButtonProps = { sortDirection: false | SortDirection; onClick: (e: any) => void };
13
+
14
+ export const SortButton = ({ sortDirection, onClick }: SortButtonProps) => {
15
+ let icon: ReactElement;
16
+ const size = getSize(4);
17
+
18
+ switch (sortDirection) {
19
+ case 'asc':
20
+ icon = <SortAscending className={size} />;
21
+ break;
22
+ case 'desc':
23
+ icon = <SortDescending className={size} />;
24
+ break;
25
+ default:
26
+ icon = <CaretUpDown className={size} />;
27
+ }
28
+
29
+ return (
30
+ <Button variant='ghost' onClick={onClick}>
31
+ {icon}
32
+ </Button>
33
+ );
34
+ };
@@ -5,12 +5,12 @@
5
5
  import '@dxosTheme';
6
6
 
7
7
  import { Plugs, PlugsConnected } from '@phosphor-icons/react';
8
- import React, { useEffect, useRef, useState } from 'react';
8
+ import React, { useCallback, useEffect, useMemo, useRef, useState } from 'react';
9
9
 
10
10
  import * as E from '@dxos/echo-schema/schema';
11
11
  import { PublicKey } from '@dxos/keys';
12
12
  import { faker } from '@dxos/random';
13
- import { DensityProvider, AnchoredOverflow } from '@dxos/react-ui';
13
+ import { AnchoredOverflow, DensityProvider } from '@dxos/react-ui';
14
14
  import { withTheme } from '@dxos/storybook-utils';
15
15
  import { range } from '@dxos/util';
16
16
 
@@ -72,7 +72,7 @@ const tableStorySelectModel: SearchListQueryModel<Item> = {
72
72
 
73
73
  const { helper, builder } = createColumnBuilder<Item>();
74
74
 
75
- const columns = (onUpdate?: ValueUpdater<Item, any>): TableColumnDef<Item, any>[] => [
75
+ const makeColumns = (onUpdate?: ValueUpdater<Item, any>): TableColumnDef<Item, any>[] => [
76
76
  helper.display(builder.selectRow()),
77
77
  helper.accessor((item) => item.publicKey, { id: 'key', ...builder.key({ tooltip: true }) }),
78
78
  helper.accessor(
@@ -90,26 +90,14 @@ const columns = (onUpdate?: ValueUpdater<Item, any>): TableColumnDef<Item, any>[
90
90
  builder.number({
91
91
  label: 'Count',
92
92
  meta: { resizable: true },
93
- // TODO(burdon): Sorting.
94
- getGroupingValue: (row) => (row.count ? (row.count < 2_000 ? 'A' : row.count < 5_000 ? 'B' : 'C') : 'D'),
95
- }),
96
- ),
97
- helper.accessor(
98
- 'company',
99
- builder.combobox({
100
- label: 'Company',
101
- model: tableStorySelectModel,
102
93
  onUpdate,
94
+ getGroupingValue: (row) => (row.count ? (row.count < 2000 ? 'A' : row.count < 5000 ? 'B' : 'C') : 'D'),
103
95
  }),
104
96
  ),
97
+ helper.accessor('company', builder.combobox({ label: 'Company', model: tableStorySelectModel, onUpdate })),
105
98
  helper.accessor(
106
99
  'complete',
107
- builder.switch({
108
- // enableGrouping: true,
109
- getGroupingValue: (row) => row.complete === true,
110
- label: '',
111
- onUpdate,
112
- }),
100
+ builder.switch({ getGroupingValue: (row) => row.complete === true, label: '', onUpdate }),
113
101
  ),
114
102
  helper.accessor('complete', builder.icon({ id: 'done', label: '' })),
115
103
  helper.accessor(
@@ -135,18 +123,10 @@ export default {
135
123
  keyAccessor: (item: Item) => item.publicKey.toHex(),
136
124
  },
137
125
  argTypes: {
138
- header: {
139
- control: 'boolean',
140
- },
141
- footer: {
142
- control: 'boolean',
143
- },
144
- border: {
145
- control: 'boolean',
146
- },
147
- fullWidth: {
148
- control: 'boolean',
149
- },
126
+ header: { control: 'boolean' },
127
+ footer: { control: 'boolean' },
128
+ border: { control: 'boolean' },
129
+ fullWidth: { control: 'boolean' },
150
130
  grouping: {
151
131
  control: 'select',
152
132
  options: ['none', 'complete', 'count'],
@@ -164,10 +144,7 @@ export default {
164
144
  limited: { key: false, started: false },
165
145
  },
166
146
  },
167
- rowsSelectable: {
168
- control: 'select',
169
- options: [false, true, 'multi'],
170
- },
147
+ rowsSelectable: { control: 'select', options: [false, true, 'multi'] },
171
148
  },
172
149
  decorators: [
173
150
  withTheme,
@@ -181,21 +158,21 @@ export default {
181
158
 
182
159
  export const Default = {
183
160
  args: {
184
- columns: columns(),
161
+ columns: makeColumns(),
185
162
  data: createItems(20),
186
163
  },
187
164
  };
188
165
 
189
166
  export const Scrolling = {
190
167
  args: {
191
- columns: columns(),
168
+ columns: makeColumns(),
192
169
  data: createItems(200),
193
170
  },
194
171
  };
195
172
 
196
173
  export const Visibility = {
197
174
  args: {
198
- columns: columns(),
175
+ columns: makeColumns(),
199
176
  data: createItems(10),
200
177
  columnVisibility: { key: false, started: false },
201
178
  },
@@ -203,7 +180,7 @@ export const Visibility = {
203
180
 
204
181
  export const Empty = {
205
182
  args: {
206
- columns: columns(),
183
+ columns: makeColumns(),
207
184
  },
208
185
  };
209
186
 
@@ -211,6 +188,7 @@ export const Dynamic = {
211
188
  render: () => {
212
189
  const containerRef = useRef<HTMLDivElement | null>(null);
213
190
  const [items, setItems] = useState<Item[]>(createItems(50));
191
+
214
192
  useEffect(() => {
215
193
  const interval = setInterval(() => {
216
194
  setItems((items) => {
@@ -223,12 +201,14 @@ export const Dynamic = {
223
201
  return () => clearInterval(interval);
224
202
  }, []);
225
203
 
204
+ const columns = useMemo(() => makeColumns(), []);
205
+
226
206
  return (
227
207
  <AnchoredOverflow.Root classNames='max-bs-[80dvh]' ref={containerRef}>
228
208
  <Table<Item>
229
209
  rowsSelectable='multi'
230
210
  keyAccessor={(row) => row.publicKey.toHex()}
231
- columns={columns()}
211
+ columns={columns}
232
212
  data={items}
233
213
  fullWidth
234
214
  footer
@@ -245,9 +225,13 @@ export const Editable = {
245
225
  render: () => {
246
226
  const containerRef = useRef<HTMLDivElement | null>(null);
247
227
  const [items, setItems] = useState<Item[]>(createItems(200));
248
- const onUpdate: ValueUpdater<Item, any> = (item, prop, value) => {
249
- setItems((items) => updateItems(items, item.publicKey, prop, value));
250
- };
228
+
229
+ const onUpdate: ValueUpdater<Item, any> = useCallback(
230
+ (item, prop, value) => setItems((items) => updateItems(items, item.publicKey, prop, value)),
231
+ [setItems],
232
+ );
233
+
234
+ const columns = useMemo(() => makeColumns(onUpdate), [onUpdate]);
251
235
 
252
236
  return (
253
237
  <div ref={containerRef} className='fixed inset-0 overflow-auto'>
@@ -255,7 +239,7 @@ export const Editable = {
255
239
  role='grid'
256
240
  rowsSelectable='multi'
257
241
  keyAccessor={(row) => row.publicKey.toHex()}
258
- columns={columns(onUpdate)}
242
+ columns={columns}
259
243
  data={items}
260
244
  fullWidth
261
245
  stickyHeader
@@ -269,25 +253,27 @@ export const Editable = {
269
253
 
270
254
  export const Resizable = {
271
255
  render: () => {
256
+ const containerRef = useRef<HTMLDivElement | null>(null);
272
257
  const [items, setItems] = useState<Item[]>(createItems(10));
273
- const onUpdate: ValueUpdater<Item, any> = (item, prop, value) => {
274
- setItems((items) => updateItems(items, item.publicKey, prop, value));
275
- };
276
258
 
277
- // const handleColumnResize = (state) => {
278
- // console.log('resize', state);
279
- // };
259
+ const onUpdate: ValueUpdater<Item, any> = useCallback(
260
+ (item, prop, value) => setItems((items) => updateItems(items, item.publicKey, prop, value)),
261
+ [setItems],
262
+ );
280
263
 
281
264
  return (
282
- <Table<Item>
283
- rowsSelectable='multi'
284
- keyAccessor={(row) => row.publicKey.toHex()}
285
- columns={columns(onUpdate)}
286
- data={items}
287
- fullWidth
288
- stickyHeader
289
- // onColumnResize={handleColumnResize}
290
- />
265
+ <div ref={containerRef} className='fixed inset-0 overflow-auto'>
266
+ <Table<Item>
267
+ rowsSelectable='multi'
268
+ keyAccessor={(row) => row.publicKey.toHex()}
269
+ columns={makeColumns(onUpdate)}
270
+ data={items}
271
+ fullWidth
272
+ stickyHeader
273
+ getScrollElement={() => containerRef.current}
274
+ // onColumnResize={handleColumnResize}
275
+ />
276
+ </div>
291
277
  );
292
278
  },
293
279
  };
@@ -297,9 +283,12 @@ export const TenThousandRows = {
297
283
  const containerRef = useRef<HTMLDivElement | null>(null);
298
284
  const [items, setItems] = useState<Item[]>(createItems(10000));
299
285
 
300
- const onUpdate: ValueUpdater<Item, any> = (item, prop, value) => {
301
- setItems((items) => updateItems(items, item.publicKey, prop, value));
302
- };
286
+ const onUpdate: ValueUpdater<Item, any> = useCallback(
287
+ (item, prop, value) => setItems((items) => updateItems(items, item.publicKey, prop, value)),
288
+ [setItems],
289
+ );
290
+
291
+ const columns = useMemo(() => makeColumns(onUpdate), [onUpdate]);
303
292
 
304
293
  return (
305
294
  <div ref={containerRef} className='fixed inset-0 overflow-auto'>
@@ -307,7 +296,7 @@ export const TenThousandRows = {
307
296
  role='grid'
308
297
  rowsSelectable='multi'
309
298
  keyAccessor={(row) => row.publicKey.toHex()}
310
- columns={columns(onUpdate)}
299
+ columns={columns}
311
300
  data={items}
312
301
  fullWidth
313
302
  stickyHeader