@coveord/plasma-mantine 48.15.0 → 48.17.0

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 (41) hide show
  1. package/.turbo/turbo-build.log +3 -3
  2. package/.turbo/turbo-test.log +10 -9
  3. package/dist/.tsbuildinfo +1 -1
  4. package/dist/cjs/components/index.js +1 -0
  5. package/dist/cjs/components/index.js.map +1 -1
  6. package/dist/cjs/components/modal/Modal.js +41 -0
  7. package/dist/cjs/components/modal/Modal.js.map +1 -0
  8. package/dist/cjs/components/modal/index.js +8 -0
  9. package/dist/cjs/components/modal/index.js.map +1 -0
  10. package/dist/cjs/components/table/Table.js +4 -1
  11. package/dist/cjs/components/table/Table.js.map +1 -1
  12. package/dist/cjs/index.js +3 -0
  13. package/dist/cjs/index.js.map +1 -1
  14. package/dist/definitions/components/index.d.ts +1 -0
  15. package/dist/definitions/components/index.d.ts.map +1 -1
  16. package/dist/definitions/components/modal/Modal.d.ts +19 -0
  17. package/dist/definitions/components/modal/Modal.d.ts.map +1 -0
  18. package/dist/definitions/components/modal/index.d.ts +2 -0
  19. package/dist/definitions/components/modal/index.d.ts.map +1 -0
  20. package/dist/definitions/components/table/Table.d.ts +4 -0
  21. package/dist/definitions/components/table/Table.d.ts.map +1 -1
  22. package/dist/definitions/index.d.ts +1 -1
  23. package/dist/definitions/index.d.ts.map +1 -1
  24. package/dist/esm/components/index.js +1 -0
  25. package/dist/esm/components/index.js.map +1 -1
  26. package/dist/esm/components/modal/Modal.js +31 -0
  27. package/dist/esm/components/modal/Modal.js.map +1 -0
  28. package/dist/esm/components/modal/index.js +3 -0
  29. package/dist/esm/components/modal/index.js.map +1 -0
  30. package/dist/esm/components/table/Table.js +4 -1
  31. package/dist/esm/components/table/Table.js.map +1 -1
  32. package/dist/esm/index.js +1 -1
  33. package/dist/esm/index.js.map +1 -1
  34. package/package.json +1 -1
  35. package/src/components/index.ts +1 -0
  36. package/src/components/modal/Modal.tsx +32 -0
  37. package/src/components/modal/__tests__/Modal.spec.tsx +33 -0
  38. package/src/components/modal/index.ts +1 -0
  39. package/src/components/table/Table.tsx +6 -0
  40. package/src/components/table/__tests__/Table.spec.tsx +16 -1
  41. package/src/index.ts +1 -1
@@ -124,6 +124,10 @@ interface TableProps<T> {
124
124
  * Initial state of the table
125
125
  */
126
126
  initialState?: InitialTableState & Partial<TableFormType>;
127
+ /**
128
+ * Action passed when user double clicks on a row
129
+ */
130
+ doubleClickAction?: (datum: T) => void;
127
131
  }
128
132
 
129
133
  interface TableType {
@@ -149,6 +153,7 @@ export const Table: TableType = <T,>({
149
153
  onChange,
150
154
  children,
151
155
  loading = false,
156
+ doubleClickAction,
152
157
  }: TableProps<T>) => {
153
158
  const convertedChildren = Children.toArray(children) as ReactElement[];
154
159
  const header = convertedChildren.find((child) => child.type === TableHeader);
@@ -224,6 +229,7 @@ export const Table: TableType = <T,>({
224
229
  <Fragment key={row.id}>
225
230
  <tr
226
231
  onClick={() => toggleRowSelection(row)}
232
+ onDoubleClick={() => doubleClickAction?.(row.original)}
227
233
  className={cx(classes.row, {[classes.rowSelected]: row.getIsSelected()})}
228
234
  >
229
235
  {row.getVisibleCells().map((cell) => {
@@ -4,7 +4,7 @@ import {FunctionComponent} from 'react';
4
4
 
5
5
  import {Table} from '../Table';
6
6
 
7
- type RowData = {firstName: string; lastName: string};
7
+ type RowData = {firstName: string; lastName?: string};
8
8
 
9
9
  const columnHelper = createColumnHelper<RowData>();
10
10
  const columns: Array<ColumnDef<RowData>> = [
@@ -127,6 +127,21 @@ describe('Table', () => {
127
127
  expect(allRows).toHaveLength(2);
128
128
  });
129
129
 
130
+ it('calls an action when user double clicks on a row', async () => {
131
+ const user = userEvent.setup();
132
+ const doubleClickSpy = jest.fn();
133
+ render(
134
+ <Table<RowData>
135
+ data={[{firstName: 'Mario'}, {firstName: 'Luigi'}]}
136
+ columns={columns}
137
+ doubleClickAction={doubleClickSpy}
138
+ ></Table>
139
+ );
140
+ await user.dblClick(screen.getByRole('cell', {name: 'Mario'}));
141
+ expect(doubleClickSpy).toHaveBeenCalledTimes(1);
142
+ expect(doubleClickSpy).toHaveBeenCalledWith({firstName: 'Mario'});
143
+ });
144
+
130
145
  it('reset row selection when user click outside the table', async () => {
131
146
  const user = userEvent.setup({delay: null});
132
147
  render(
package/src/index.ts CHANGED
@@ -10,7 +10,7 @@ export * from '@mantine/hooks';
10
10
  export {createColumnHelper, type ColumnDef} from '@tanstack/table-core';
11
11
  export * from './components';
12
12
  // explicitly overriding mantine components
13
- export {Header, Table, HeaderProps} from './components';
13
+ export {Header, Table, HeaderProps, Modal} from './components';
14
14
  export * from './theme';
15
15
 
16
16
  declare module '@mantine/core' {