@economic/taco 1.21.5 → 1.21.6
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.
- package/dist/esm/packages/taco/src/components/Table2/Table2.js +1 -1
- package/dist/esm/packages/taco/src/components/Table2/Table2.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table2/components/column/Cell.js +1 -1
- package/dist/esm/packages/taco/src/components/Table2/components/column/Cell.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table2/hooks/useVirtualiser.js +1 -2
- package/dist/esm/packages/taco/src/components/Table2/hooks/useVirtualiser.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table2/utilities/columns.js +80 -52
- package/dist/esm/packages/taco/src/components/Table2/utilities/columns.js.map +1 -1
- package/dist/taco.cjs.development.js +83 -56
- package/dist/taco.cjs.development.js.map +1 -1
- package/dist/taco.cjs.production.min.js +1 -1
- package/dist/taco.cjs.production.min.js.map +1 -1
- package/package.json +2 -2
@@ -73,6 +73,44 @@ function createRowDraggableColumn(onRowDrag, texts) {
|
|
73
73
|
size: 10
|
74
74
|
};
|
75
75
|
}
|
76
|
+
const SelectCell = /*#__PURE__*/React__default.memo(({
|
77
|
+
lastSelectedRowIndex,
|
78
|
+
rowIndex,
|
79
|
+
isSelected,
|
80
|
+
table,
|
81
|
+
tableRef,
|
82
|
+
texts,
|
83
|
+
toggleSelected
|
84
|
+
}) => {
|
85
|
+
const meta = table.options.meta;
|
86
|
+
const handleClick = event => {
|
87
|
+
var _tableRef$current;
|
88
|
+
event.stopPropagation();
|
89
|
+
if (event.shiftKey) {
|
90
|
+
const [fromIndex, toIndex] = toggleBetween((lastSelectedRowIndex === null || lastSelectedRowIndex === void 0 ? void 0 : lastSelectedRowIndex.current) || 0, rowIndex);
|
91
|
+
table.getRowModel().rows.slice(fromIndex, toIndex + 1).forEach(row => row.toggleSelected(true));
|
92
|
+
} else {
|
93
|
+
toggleSelected();
|
94
|
+
}
|
95
|
+
lastSelectedRowIndex.current = rowIndex;
|
96
|
+
meta.setActiveRowIndex(rowIndex);
|
97
|
+
(_tableRef$current = tableRef.current) === null || _tableRef$current === void 0 ? void 0 : _tableRef$current.focus();
|
98
|
+
};
|
99
|
+
return /*#__PURE__*/React__default.createElement(Tooltip, {
|
100
|
+
title: /*#__PURE__*/React__default.createElement(React__default.Fragment, null, isSelected ? texts.table2.columns.select.select : texts.table2.columns.select.deselect, /*#__PURE__*/React__default.createElement(Shortcut, {
|
101
|
+
className: "ml-2",
|
102
|
+
keys: ['Space']
|
103
|
+
}))
|
104
|
+
}, /*#__PURE__*/React__default.createElement(Checkbox, {
|
105
|
+
"aria-label": isSelected ? texts.table2.columns.select.select : texts.table2.columns.select.deselect,
|
106
|
+
className: "hover:border-blue !mt-[0.45rem]",
|
107
|
+
checked: isSelected,
|
108
|
+
onClick: handleClick,
|
109
|
+
// this is necessary to remove console spam from eslint
|
110
|
+
onChange: () => false,
|
111
|
+
tabIndex: -1
|
112
|
+
}));
|
113
|
+
});
|
76
114
|
function createRowSelectionColumn(enableMultipleRowSelection, lastSelectedRowIndex, onRowDrag, tableRef, texts) {
|
77
115
|
let header;
|
78
116
|
let cell;
|
@@ -91,44 +129,23 @@ function createRowSelectionColumn(enableMultipleRowSelection, lastSelectedRowInd
|
|
91
129
|
indeterminate: table.getIsSomePageRowsSelected(),
|
92
130
|
onChange: checked => table.toggleAllPageRowsSelected(checked),
|
93
131
|
onClick: () => {
|
94
|
-
var _tableRef$
|
95
|
-
(_tableRef$
|
132
|
+
var _tableRef$current2;
|
133
|
+
(_tableRef$current2 = tableRef.current) === null || _tableRef$current2 === void 0 ? void 0 : _tableRef$current2.focus();
|
96
134
|
},
|
97
135
|
tabIndex: -1
|
98
136
|
}));
|
99
137
|
cell = ({
|
100
138
|
row,
|
101
139
|
table
|
102
|
-
}) => {
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
row.toggleSelected();
|
112
|
-
}
|
113
|
-
lastSelectedRowIndex.current = row.index;
|
114
|
-
meta.setActiveRowIndex(row.index);
|
115
|
-
(_tableRef$current2 = tableRef.current) === null || _tableRef$current2 === void 0 ? void 0 : _tableRef$current2.focus();
|
116
|
-
};
|
117
|
-
return /*#__PURE__*/React__default.createElement(Tooltip, {
|
118
|
-
title: /*#__PURE__*/React__default.createElement(React__default.Fragment, null, row.getIsSelected() ? texts.table2.columns.select.select : texts.table2.columns.select.deselect, /*#__PURE__*/React__default.createElement(Shortcut, {
|
119
|
-
className: "ml-2",
|
120
|
-
keys: ['Space']
|
121
|
-
}))
|
122
|
-
}, /*#__PURE__*/React__default.createElement(Checkbox, {
|
123
|
-
"aria-label": row.getIsSelected() ? texts.table2.columns.select.select : texts.table2.columns.select.deselect,
|
124
|
-
className: "hover:border-blue !mt-[0.45rem]",
|
125
|
-
checked: row.getIsSelected(),
|
126
|
-
onClick: handleClick,
|
127
|
-
// this is necessary to remove console spam from eslint
|
128
|
-
onChange: () => false,
|
129
|
-
tabIndex: -1
|
130
|
-
}));
|
131
|
-
};
|
140
|
+
}) => /*#__PURE__*/React__default.createElement(SelectCell, {
|
141
|
+
lastSelectedRowIndex: lastSelectedRowIndex,
|
142
|
+
rowIndex: row.index,
|
143
|
+
isSelected: row.getIsSelected(),
|
144
|
+
table: table,
|
145
|
+
tableRef: tableRef,
|
146
|
+
texts: texts,
|
147
|
+
toggleSelected: row.toggleSelected
|
148
|
+
});
|
132
149
|
} else {
|
133
150
|
cell = ({
|
134
151
|
row,
|
@@ -170,6 +187,27 @@ function createRowSelectionColumn(enableMultipleRowSelection, lastSelectedRowInd
|
|
170
187
|
size: 46
|
171
188
|
};
|
172
189
|
}
|
190
|
+
const ExpandCell = /*#__PURE__*/React__default.memo(({
|
191
|
+
isExpanded,
|
192
|
+
toggleExpanded,
|
193
|
+
texts
|
194
|
+
}) => {
|
195
|
+
return /*#__PURE__*/React__default.createElement(Tooltip, {
|
196
|
+
title: /*#__PURE__*/React__default.createElement(React__default.Fragment, null, isExpanded ? texts.table2.columns.expansion.collapse : texts.table2.columns.expansion.expand, /*#__PURE__*/React__default.createElement(Shortcut, {
|
197
|
+
className: "ml-2",
|
198
|
+
keys: ['Ctrl', isExpanded ? '←' : '→']
|
199
|
+
}))
|
200
|
+
}, /*#__PURE__*/React__default.createElement(IconButton, {
|
201
|
+
title: isExpanded ? texts.table2.columns.expansion.collapse : texts.table2.columns.expansion.expand,
|
202
|
+
appearance: "discrete",
|
203
|
+
icon: isExpanded ? 'chevron-down' : 'chevron-right',
|
204
|
+
onClick: event => {
|
205
|
+
event.stopPropagation();
|
206
|
+
toggleExpanded();
|
207
|
+
},
|
208
|
+
tabIndex: -1
|
209
|
+
}));
|
210
|
+
});
|
173
211
|
function createRowExpansionColumn(texts) {
|
174
212
|
return {
|
175
213
|
id: COLUMN_ID_FOR_EXPANSION,
|
@@ -190,21 +228,11 @@ function createRowExpansionColumn(texts) {
|
|
190
228
|
})),
|
191
229
|
cell: ({
|
192
230
|
row
|
193
|
-
}) => /*#__PURE__*/React__default.createElement(
|
194
|
-
|
195
|
-
|
196
|
-
|
197
|
-
|
198
|
-
}, /*#__PURE__*/React__default.createElement(IconButton, {
|
199
|
-
title: row.getIsExpanded() ? texts.table2.columns.expansion.collapse : texts.table2.columns.expansion.expand,
|
200
|
-
appearance: "discrete",
|
201
|
-
icon: row.getIsExpanded() ? 'chevron-down' : 'chevron-right',
|
202
|
-
onClick: event => {
|
203
|
-
event.stopPropagation();
|
204
|
-
row.toggleExpanded();
|
205
|
-
},
|
206
|
-
tabIndex: -1
|
207
|
-
})),
|
231
|
+
}) => /*#__PURE__*/React__default.createElement(ExpandCell, {
|
232
|
+
isExpanded: row.getIsExpanded(),
|
233
|
+
toggleExpanded: row.toggleExpanded,
|
234
|
+
texts: texts
|
235
|
+
}),
|
208
236
|
meta: {
|
209
237
|
align: 'center',
|
210
238
|
className: 'items-center !p-0',
|
@@ -217,13 +245,13 @@ function createRowExpansionColumn(texts) {
|
|
217
245
|
};
|
218
246
|
}
|
219
247
|
const getActionPropertyValue = (property, row) => typeof property === 'function' ? property(row) : property;
|
220
|
-
|
248
|
+
const RowActionsCell = /*#__PURE__*/React__default.memo(({
|
221
249
|
row,
|
222
250
|
actions,
|
223
251
|
moreActions,
|
224
252
|
table,
|
225
253
|
texts
|
226
|
-
}) {
|
254
|
+
}) => {
|
227
255
|
const isVisible = action => typeof action.visible !== 'undefined' ? typeof action.visible === 'function' ? action.visible(row.original) : action.visible : true;
|
228
256
|
const visibleActions = actions.filter(isVisible);
|
229
257
|
const visibleMoreActions = moreActions.filter(isVisible);
|
@@ -271,7 +299,7 @@ function RowActionCell({
|
|
271
299
|
}, getActionPropertyValue(action.text, row.original))))),
|
272
300
|
tooltip: texts.table2.columns.actions.tooltip
|
273
301
|
}) : null);
|
274
|
-
}
|
302
|
+
});
|
275
303
|
function createRowActionsColumn(rowActions, texts) {
|
276
304
|
const actions = rowActions.length === 4 ? rowActions : rowActions.slice(0, 3);
|
277
305
|
const moreActions = rowActions.slice(rowActions.length === 4 ? 4 : 3);
|
@@ -280,7 +308,7 @@ function createRowActionsColumn(rowActions, texts) {
|
|
280
308
|
cell: ({
|
281
309
|
row,
|
282
310
|
table
|
283
|
-
}) => /*#__PURE__*/React__default.createElement(
|
311
|
+
}) => /*#__PURE__*/React__default.createElement(RowActionsCell, {
|
284
312
|
row: row,
|
285
313
|
actions: actions,
|
286
314
|
moreActions: moreActions,
|
@@ -290,7 +318,7 @@ function createRowActionsColumn(rowActions, texts) {
|
|
290
318
|
meta: {
|
291
319
|
align: 'right',
|
292
320
|
className: row => cn('items-center print:opacity-0 group-[[aria-current]]/row:sticky group-hover/row:sticky right-0 bg-transparent !px-1', {
|
293
|
-
'group-[[aria-current]]/row:!shadow-[-6px_0px_6px_theme(colors.grey.200)]': !row.getIsSelected(),
|
321
|
+
'group-[[aria-current]]/row:!shadow-[-6px_0px_6px_theme(colors.grey.200)] group-hover/row:!shadow-[-6px_0px_6px_theme(colors.grey.100)]': !row.getIsSelected(),
|
294
322
|
'shadow-[-6px_0px_6px_theme(colors.blue.100)]': row.getIsSelected()
|
295
323
|
}),
|
296
324
|
disableTruncation: true,
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"columns.js","sources":["../../../../../../../../src/components/Table2/utilities/columns.tsx"],"sourcesContent":["import React from 'react';\nimport cn from 'classnames';\nimport { CellContext, DisplayColumnDef, Row, TableMeta } from '@tanstack/react-table';\nimport { Checkbox } from '../../Checkbox/Checkbox';\nimport { IconButton } from '../../IconButton/IconButton';\nimport { Shortcut } from '../../Shortcut/Shortcut';\nimport { Tooltip } from '../../Tooltip/Tooltip';\nimport { RowDragHandler, Table2RowActionProps } from '../types';\nimport { Menu } from '../../Menu/Menu';\nimport { Icon } from '../../Icon/Icon';\nimport { LocalizationTexts } from '../../Provider/Localization';\n\nexport const COLUMN_ID_FOR_DRAGGABLE = '__draggable';\nexport const COLUMN_ID_FOR_SELECTION = '__select';\nexport const COLUMN_ID_FOR_EXPANSION = '__expansion';\nexport const COLUMN_ID_FOR_ACTIONS = '__actions';\n\nexport const isInternalColumn = (id: string) =>\n id === COLUMN_ID_FOR_SELECTION ||\n id === COLUMN_ID_FOR_EXPANSION ||\n id === COLUMN_ID_FOR_ACTIONS ||\n id === COLUMN_ID_FOR_DRAGGABLE;\n\nexport const MIN_COLUMN_SIZE = 80; // accounts for padding and sort controls\n\nconst toggleBetween = (fromRowIndex: number, toRowIndex: number): [number, number] => {\n const fromIndex = toRowIndex < fromRowIndex ? toRowIndex : fromRowIndex;\n const toIndex = toRowIndex > fromRowIndex ? toRowIndex : fromRowIndex;\n\n return [fromIndex, toIndex];\n};\n\nexport function createRowDraggableColumn<TType = any>(\n onRowDrag: RowDragHandler<TType>,\n texts: LocalizationTexts\n): DisplayColumnDef<TType, any> {\n return {\n id: COLUMN_ID_FOR_DRAGGABLE,\n cell: ({ row, table }) => {\n const meta = table.options.meta as TableMeta<any>;\n const GHOST_ELEMENT_ID = 'taco_table_dragging';\n\n const onDragStart = (event: React.DragEvent): void => {\n const rows = row.getIsSelected() ? table.getSelectedRowModel().rows : [row, ...table.getSelectedRowModel().rows];\n\n meta.setDragging(rows.reduce((dragging, rowBeingDragged) => ({ ...dragging, [rowBeingDragged.id]: true }), {}));\n\n const data = rows.map(row => row.original);\n // set a default data value so that the consumer doesn't have to\n event.dataTransfer.setData('text', JSON.stringify(data));\n\n const showPlaceholder = (text: string) => {\n const ghost = document.createElement('div');\n ghost.id = GHOST_ELEMENT_ID;\n ghost.className = 'wcag-blue rounded flex w-48 p-4 absolute -ml-[100vw]';\n ghost.innerText = text;\n document.body.appendChild(ghost);\n event.dataTransfer.setDragImage(ghost, 0, 0);\n };\n\n const setDataTransfer = (text: string) => event.dataTransfer.setData('text', text);\n\n onRowDrag(data, showPlaceholder, setDataTransfer);\n };\n\n const onDragEnd = (): void => {\n document.getElementById(GHOST_ELEMENT_ID)?.remove();\n meta.setDragging({});\n };\n\n return (\n <div draggable onDragStart={onDragStart} onDragEnd={onDragEnd}>\n <Icon\n aria-label={texts.table2.columns.drag.tooltip}\n name=\"drag\"\n className=\"text-grey-darkest invisible w-[20px] cursor-grab active:cursor-grabbing group-hover/row:visible group-[[aria-grabbed]]/row:text-white\"\n />\n </div>\n );\n },\n meta: {\n align: 'center',\n className: 'items-center !px-0',\n disableTruncation: true,\n headerClassName: 'items-center !px-0',\n },\n // sizing\n enableResizing: false,\n size: 10,\n };\n}\n\nexport function createRowSelectionColumn<TType = any>(\n enableMultipleRowSelection: boolean,\n lastSelectedRowIndex: React.MutableRefObject<number | undefined>,\n onRowDrag: RowDragHandler<TType> | undefined,\n tableRef: React.RefObject<HTMLDivElement>,\n texts: LocalizationTexts\n): DisplayColumnDef<TType, any> {\n let header;\n let cell;\n\n if (enableMultipleRowSelection) {\n header = ({ table }) => (\n <Tooltip\n title={\n <>\n {table.getIsAllPageRowsSelected()\n ? texts.table2.columns.select.deselectAll\n : texts.table2.columns.select.selectAll}\n <Shortcut className=\"ml-2\" keys={['Ctrl', 'A']} />\n </>\n }>\n <Checkbox\n aria-label={\n table.getIsAllPageRowsSelected()\n ? texts.table2.columns.select.deselectAll\n : texts.table2.columns.select.selectAll\n }\n className=\"hover:border-blue !mt-0\"\n checked={table.getIsAllPageRowsSelected()}\n indeterminate={table.getIsSomePageRowsSelected()}\n onChange={checked => table.toggleAllPageRowsSelected(checked)}\n onClick={() => {\n tableRef.current?.focus();\n }}\n tabIndex={-1}\n />\n </Tooltip>\n );\n cell = ({ row, table }) => {\n const meta = table.options.meta as TableMeta<any>;\n const handleClick = (event: React.MouseEvent): void => {\n event.stopPropagation();\n\n if (event.shiftKey) {\n const [fromIndex, toIndex] = toggleBetween(lastSelectedRowIndex?.current || 0, row.index);\n\n table\n .getRowModel()\n .rows.slice(fromIndex, toIndex + 1)\n .forEach(row => row.toggleSelected(true));\n } else {\n row.toggleSelected();\n }\n\n lastSelectedRowIndex.current = row.index;\n meta.setActiveRowIndex(row.index);\n tableRef.current?.focus();\n };\n\n return (\n <Tooltip\n title={\n <>\n {row.getIsSelected() ? texts.table2.columns.select.select : texts.table2.columns.select.deselect}\n <Shortcut className=\"ml-2\" keys={['Space']} />\n </>\n }>\n <Checkbox\n aria-label={\n row.getIsSelected() ? texts.table2.columns.select.select : texts.table2.columns.select.deselect\n }\n className=\"hover:border-blue !mt-[0.45rem]\"\n checked={row.getIsSelected()}\n onClick={handleClick}\n // this is necessary to remove console spam from eslint\n onChange={() => false}\n tabIndex={-1}\n />\n </Tooltip>\n );\n };\n } else {\n cell = ({ row, table }) => {\n const meta = table.options.meta as TableMeta<any>;\n const className =\n 'border-grey-300 focus:yt-focus flex h-5 w-5 mt-[0.45rem] flex-shrink-0 items-center justify-center self-start rounded-full border-2 bg-white hover:border-[5px] aria-checked:border-blue-500 aria-checked:bg-blue-500 hover:aria-checked:border-blue-300';\n\n const handleClick = (event: React.MouseEvent): void => {\n event.stopPropagation();\n row.toggleSelected();\n meta.setActiveRowIndex(row.index);\n tableRef.current?.focus();\n };\n\n return (\n <button\n className={className}\n aria-checked={row.getIsSelected()}\n onClick={handleClick}\n role=\"radio\"\n tabIndex={-1}\n type=\"button\">\n {row.getIsSelected() ? <span className=\"h-2.5 w-2.5 rounded-full bg-white\" /> : null}\n </button>\n );\n };\n }\n\n return {\n id: COLUMN_ID_FOR_SELECTION,\n header,\n cell,\n meta: {\n align: 'center',\n className: onRowDrag ? '!pl-0 !pr-3' : '!px-3',\n disableTruncation: true,\n headerClassName: onRowDrag ? '!pl-0 !pr-3' : '!px-3',\n },\n // sizing\n enableResizing: false,\n size: 46,\n };\n}\n\nexport function createRowExpansionColumn<TType = any>(texts: LocalizationTexts): DisplayColumnDef<TType, any> {\n return {\n id: COLUMN_ID_FOR_EXPANSION,\n header: ({ table }) => (\n <Tooltip\n title={\n table.getIsSomeRowsExpanded()\n ? texts.table2.columns.expansion.collapseAll\n : texts.table2.columns.expansion.expandAll\n }>\n <IconButton\n title={\n table.getIsSomeRowsExpanded()\n ? texts.table2.columns.expansion.collapseAll\n : texts.table2.columns.expansion.expandAll\n }\n appearance=\"discrete\"\n className=\"-mb-2 -mt-1.5\"\n icon={table.getIsSomeRowsExpanded() ? 'chevron-down-double' : 'chevron-right-double'}\n onClick={event => {\n event.stopPropagation();\n table.toggleAllRowsExpanded(table.getIsSomeRowsExpanded() ? false : true);\n }}\n tabIndex={-1}\n />\n </Tooltip>\n ),\n cell: ({ row }: CellContext<TType, any>) => (\n <Tooltip\n title={\n <>\n {row.getIsExpanded() ? texts.table2.columns.expansion.collapse : texts.table2.columns.expansion.expand}\n <Shortcut className=\"ml-2\" keys={['Ctrl', row.getIsExpanded() ? '←' : '→']} />\n </>\n }>\n <IconButton\n title={row.getIsExpanded() ? texts.table2.columns.expansion.collapse : texts.table2.columns.expansion.expand}\n appearance=\"discrete\"\n icon={row.getIsExpanded() ? 'chevron-down' : 'chevron-right'}\n onClick={event => {\n event.stopPropagation();\n row.toggleExpanded();\n }}\n tabIndex={-1}\n />\n </Tooltip>\n ),\n meta: {\n align: 'center',\n className: 'items-center !p-0',\n disableTruncation: true,\n headerClassName: 'items-center hover:!bg-white !p-0',\n },\n // sizing\n enableResizing: false,\n size: 36,\n };\n}\n\nconst getActionPropertyValue = (property, row) => (typeof property === 'function' ? property(row) : property);\n\nfunction RowActionCell<TType = {}>({ row, actions, moreActions, table, texts }) {\n const isVisible = (action: Table2RowActionProps<TType>) =>\n typeof action.visible !== 'undefined'\n ? typeof action.visible === 'function'\n ? action.visible(row.original)\n : action.visible\n : true;\n\n const visibleActions = actions.filter(isVisible);\n const visibleMoreActions = moreActions.filter(isVisible);\n\n // If the row is not the active row or the hovered row then actions are hidden.\n const actionClassName = 'group-hover/row:flex group-[[aria-current]]/row:flex hidden';\n\n // only actions in the active row should be tabbable\n const tabIndex = table.options.meta.activeRowIndex === row.index ? 0 : -1;\n\n return (\n <span className=\"-mb-2 -mt-1.5 flex justify-end text-right\">\n {visibleActions.map((action, i) => (\n <IconButton\n key={i}\n className={actionClassName}\n aria-label={getActionPropertyValue(action.ariaLabel, row.original)}\n appearance=\"discrete\"\n dialog={action.dialog ? action.dialog(row.original) : undefined}\n disabled={getActionPropertyValue(action.disabled, row.original)}\n icon={getActionPropertyValue(action.icon, row.original)}\n onClick={event => {\n event.stopPropagation();\n if (action.onClick) {\n action.onClick(row.original);\n }\n }}\n tabIndex={tabIndex}\n tooltip={getActionPropertyValue(action.text, row.original)}\n />\n ))}\n {visibleMoreActions.length ? (\n <IconButton\n className={actionClassName}\n aria-label={texts.table2.columns.actions.tooltip}\n appearance=\"discrete\"\n icon=\"more\"\n onClick={event => {\n event.preventDefault();\n }}\n tabIndex={tabIndex}\n menu={menuProps => (\n <Menu {...menuProps}>\n <Menu.Content>\n {visibleMoreActions.map((action, i) => (\n <Menu.Item\n key={i}\n dialog={action.dialog ? action.dialog(row.original) : undefined}\n disabled={getActionPropertyValue(action.disabled, row.original)}\n icon={getActionPropertyValue(action.icon, row.original)}\n onClick={() => {\n if (action.onClick) {\n action.onClick(row.original);\n }\n }}>\n {getActionPropertyValue(action.text, row.original)}\n </Menu.Item>\n ))}\n </Menu.Content>\n </Menu>\n )}\n tooltip={texts.table2.columns.actions.tooltip}\n />\n ) : null}\n </span>\n );\n}\n\nexport function createRowActionsColumn<TType = any>(rowActions, texts: LocalizationTexts): DisplayColumnDef<TType, any> {\n const actions: Table2RowActionProps<TType>[] = rowActions.length === 4 ? rowActions : rowActions.slice(0, 3);\n const moreActions: Table2RowActionProps<TType>[] = rowActions.slice(rowActions.length === 4 ? 4 : 3);\n\n return {\n id: COLUMN_ID_FOR_ACTIONS,\n cell: ({ row, table }) => (\n <RowActionCell<TType> row={row} actions={actions} moreActions={moreActions} texts={texts} table={table} />\n ),\n meta: {\n align: 'right',\n className: (row: Row<any>) =>\n cn(\n 'items-center print:opacity-0 group-[[aria-current]]/row:sticky group-hover/row:sticky right-0 bg-transparent !px-1',\n {\n 'group-[[aria-current]]/row:!shadow-[-6px_0px_6px_theme(colors.grey.200)]': !row.getIsSelected(),\n 'shadow-[-6px_0px_6px_theme(colors.blue.100)]': row.getIsSelected(),\n }\n ),\n disableTruncation: true,\n headerClassName: 'hover:!bg-white !px-1',\n },\n // sizing\n enableResizing: false,\n };\n}\n"],"names":["COLUMN_ID_FOR_DRAGGABLE","COLUMN_ID_FOR_SELECTION","COLUMN_ID_FOR_EXPANSION","COLUMN_ID_FOR_ACTIONS","isInternalColumn","id","MIN_COLUMN_SIZE","toggleBetween","fromRowIndex","toRowIndex","fromIndex","toIndex","createRowDraggableColumn","onRowDrag","texts","cell","row","table","meta","options","GHOST_ELEMENT_ID","onDragStart","event","rows","getIsSelected","getSelectedRowModel","setDragging","reduce","dragging","rowBeingDragged","data","map","original","dataTransfer","setData","JSON","stringify","showPlaceholder","text","ghost","document","createElement","className","innerText","body","appendChild","setDragImage","setDataTransfer","onDragEnd","getElementById","remove","React","draggable","Icon","table2","columns","drag","tooltip","name","align","disableTruncation","headerClassName","enableResizing","size","createRowSelectionColumn","enableMultipleRowSelection","lastSelectedRowIndex","tableRef","header","Tooltip","title","getIsAllPageRowsSelected","select","deselectAll","selectAll","Shortcut","keys","Checkbox","checked","indeterminate","getIsSomePageRowsSelected","onChange","toggleAllPageRowsSelected","onClick","current","focus","tabIndex","handleClick","stopPropagation","shiftKey","index","getRowModel","slice","forEach","toggleSelected","setActiveRowIndex","deselect","role","type","createRowExpansionColumn","getIsSomeRowsExpanded","expansion","collapseAll","expandAll","IconButton","appearance","icon","toggleAllRowsExpanded","getIsExpanded","collapse","expand","toggleExpanded","getActionPropertyValue","property","RowActionCell","actions","moreActions","isVisible","action","visible","visibleActions","filter","visibleMoreActions","actionClassName","activeRowIndex","i","key","ariaLabel","dialog","undefined","disabled","length","preventDefault","menu","menuProps","Menu","Content","Item","createRowActionsColumn","rowActions","cn"],"mappings":";;;;;;;;;MAYaA,uBAAuB,GAAG;MAC1BC,uBAAuB,GAAG;MAC1BC,uBAAuB,GAAG;MAC1BC,qBAAqB,GAAG;MAExBC,gBAAgB,GAAIC,EAAU,IACvCA,EAAE,KAAKJ,uBAAuB,IAC9BI,EAAE,KAAKH,uBAAuB,IAC9BG,EAAE,KAAKF,qBAAqB,IAC5BE,EAAE,KAAKL;MAEEM,eAAe,GAAG,GAAG;AAElC,MAAMC,aAAa,GAAG,CAACC,YAAoB,EAAEC,UAAkB;EAC3D,MAAMC,SAAS,GAAGD,UAAU,GAAGD,YAAY,GAAGC,UAAU,GAAGD,YAAY;EACvE,MAAMG,OAAO,GAAGF,UAAU,GAAGD,YAAY,GAAGC,UAAU,GAAGD,YAAY;EAErE,OAAO,CAACE,SAAS,EAAEC,OAAO,CAAC;AAC/B,CAAC;SAEeC,wBAAwB,CACpCC,SAAgC,EAChCC,KAAwB;EAExB,OAAO;IACHT,EAAE,EAAEL,uBAAuB;IAC3Be,IAAI,EAAE,CAAC;MAAEC,GAAG;MAAEC;KAAO;MACjB,MAAMC,IAAI,GAAGD,KAAK,CAACE,OAAO,CAACD,IAAsB;MACjD,MAAME,gBAAgB,GAAG,qBAAqB;MAE9C,MAAMC,WAAW,GAAIC,KAAsB;QACvC,MAAMC,IAAI,GAAGP,GAAG,CAACQ,aAAa,EAAE,GAAGP,KAAK,CAACQ,mBAAmB,EAAE,CAACF,IAAI,GAAG,CAACP,GAAG,EAAE,GAAGC,KAAK,CAACQ,mBAAmB,EAAE,CAACF,IAAI,CAAC;QAEhHL,IAAI,CAACQ,WAAW,CAACH,IAAI,CAACI,MAAM,CAAC,CAACC,QAAQ,EAAEC,eAAe,MAAM;UAAE,GAAGD,QAAQ;UAAE,CAACC,eAAe,CAACxB,EAAE,GAAG;SAAM,CAAC,EAAE,EAAE,CAAC,CAAC;QAE/G,MAAMyB,IAAI,GAAGP,IAAI,CAACQ,GAAG,CAACf,GAAG,IAAIA,GAAG,CAACgB,QAAQ,CAAC;;QAE1CV,KAAK,CAACW,YAAY,CAACC,OAAO,CAAC,MAAM,EAAEC,IAAI,CAACC,SAAS,CAACN,IAAI,CAAC,CAAC;QAExD,MAAMO,eAAe,GAAIC,IAAY;UACjC,MAAMC,KAAK,GAAGC,QAAQ,CAACC,aAAa,CAAC,KAAK,CAAC;UAC3CF,KAAK,CAAClC,EAAE,GAAGe,gBAAgB;UAC3BmB,KAAK,CAACG,SAAS,GAAG,sDAAsD;UACxEH,KAAK,CAACI,SAAS,GAAGL,IAAI;UACtBE,QAAQ,CAACI,IAAI,CAACC,WAAW,CAACN,KAAK,CAAC;UAChCjB,KAAK,CAACW,YAAY,CAACa,YAAY,CAACP,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;SAC/C;QAED,MAAMQ,eAAe,GAAIT,IAAY,IAAKhB,KAAK,CAACW,YAAY,CAACC,OAAO,CAAC,MAAM,EAAEI,IAAI,CAAC;QAElFzB,SAAS,CAACiB,IAAI,EAAEO,eAAe,EAAEU,eAAe,CAAC;OACpD;MAED,MAAMC,SAAS,GAAG;;QACd,yBAAAR,QAAQ,CAACS,cAAc,CAAC7B,gBAAgB,CAAC,0DAAzC,sBAA2C8B,MAAM,EAAE;QACnDhC,IAAI,CAACQ,WAAW,CAAC,EAAE,CAAC;OACvB;MAED,oBACIyB;QAAKC,SAAS;QAAC/B,WAAW,EAAEA,WAAW;QAAE2B,SAAS,EAAEA;sBAChDG,6BAACE,IAAI;sBACWvC,KAAK,CAACwC,MAAM,CAACC,OAAO,CAACC,IAAI,CAACC,OAAO;QAC7CC,IAAI,EAAC,MAAM;QACXhB,SAAS,EAAC;QACZ,CACA;KAEb;IACDxB,IAAI,EAAE;MACFyC,KAAK,EAAE,QAAQ;MACfjB,SAAS,EAAE,oBAAoB;MAC/BkB,iBAAiB,EAAE,IAAI;MACvBC,eAAe,EAAE;KACpB;;IAEDC,cAAc,EAAE,KAAK;IACrBC,IAAI,EAAE;GACT;AACL;SAEgBC,wBAAwB,CACpCC,0BAAmC,EACnCC,oBAAgE,EAChErD,SAA4C,EAC5CsD,QAAyC,EACzCrD,KAAwB;EAExB,IAAIsD,MAAM;EACV,IAAIrD,IAAI;EAER,IAAIkD,0BAA0B,EAAE;IAC5BG,MAAM,GAAG,CAAC;MAAEnD;KAAO,kBACfkC,6BAACkB,OAAO;MACJC,KAAK,eACDnB,4DACKlC,KAAK,CAACsD,wBAAwB,EAAE,GAC3BzD,KAAK,CAACwC,MAAM,CAACC,OAAO,CAACiB,MAAM,CAACC,WAAW,GACvC3D,KAAK,CAACwC,MAAM,CAACC,OAAO,CAACiB,MAAM,CAACE,SAAS,eAC3CvB,6BAACwB,QAAQ;QAACjC,SAAS,EAAC,MAAM;QAACkC,IAAI,EAAE,CAAC,MAAM,EAAE,GAAG;QAAK;oBAG1DzB,6BAAC0B,QAAQ;oBAED5D,KAAK,CAACsD,wBAAwB,EAAE,GAC1BzD,KAAK,CAACwC,MAAM,CAACC,OAAO,CAACiB,MAAM,CAACC,WAAW,GACvC3D,KAAK,CAACwC,MAAM,CAACC,OAAO,CAACiB,MAAM,CAACE,SAAS;MAE/ChC,SAAS,EAAC,yBAAyB;MACnCoC,OAAO,EAAE7D,KAAK,CAACsD,wBAAwB,EAAE;MACzCQ,aAAa,EAAE9D,KAAK,CAAC+D,yBAAyB,EAAE;MAChDC,QAAQ,EAAEH,OAAO,IAAI7D,KAAK,CAACiE,yBAAyB,CAACJ,OAAO,CAAC;MAC7DK,OAAO,EAAE;;QACL,qBAAAhB,QAAQ,CAACiB,OAAO,sDAAhB,kBAAkBC,KAAK,EAAE;OAC5B;MACDC,QAAQ,EAAE,CAAC;MACb,CAET;IACDvE,IAAI,GAAG,CAAC;MAAEC,GAAG;MAAEC;KAAO;MAClB,MAAMC,IAAI,GAAGD,KAAK,CAACE,OAAO,CAACD,IAAsB;MACjD,MAAMqE,WAAW,GAAIjE,KAAuB;;QACxCA,KAAK,CAACkE,eAAe,EAAE;QAEvB,IAAIlE,KAAK,CAACmE,QAAQ,EAAE;UAChB,MAAM,CAAC/E,SAAS,EAAEC,OAAO,CAAC,GAAGJ,aAAa,CAAC,CAAA2D,oBAAoB,aAApBA,oBAAoB,uBAApBA,oBAAoB,CAAEkB,OAAO,KAAI,CAAC,EAAEpE,GAAG,CAAC0E,KAAK,CAAC;UAEzFzE,KAAK,CACA0E,WAAW,EAAE,CACbpE,IAAI,CAACqE,KAAK,CAAClF,SAAS,EAAEC,OAAO,GAAG,CAAC,CAAC,CAClCkF,OAAO,CAAC7E,GAAG,IAAIA,GAAG,CAAC8E,cAAc,CAAC,IAAI,CAAC,CAAC;SAChD,MAAM;UACH9E,GAAG,CAAC8E,cAAc,EAAE;;QAGxB5B,oBAAoB,CAACkB,OAAO,GAAGpE,GAAG,CAAC0E,KAAK;QACxCxE,IAAI,CAAC6E,iBAAiB,CAAC/E,GAAG,CAAC0E,KAAK,CAAC;QACjC,sBAAAvB,QAAQ,CAACiB,OAAO,uDAAhB,mBAAkBC,KAAK,EAAE;OAC5B;MAED,oBACIlC,6BAACkB,OAAO;QACJC,KAAK,eACDnB,4DACKnC,GAAG,CAACQ,aAAa,EAAE,GAAGV,KAAK,CAACwC,MAAM,CAACC,OAAO,CAACiB,MAAM,CAACA,MAAM,GAAG1D,KAAK,CAACwC,MAAM,CAACC,OAAO,CAACiB,MAAM,CAACwB,QAAQ,eAChG7C,6BAACwB,QAAQ;UAACjC,SAAS,EAAC,MAAM;UAACkC,IAAI,EAAE,CAAC,OAAO;UAAK;sBAGtDzB,6BAAC0B,QAAQ;sBAED7D,GAAG,CAACQ,aAAa,EAAE,GAAGV,KAAK,CAACwC,MAAM,CAACC,OAAO,CAACiB,MAAM,CAACA,MAAM,GAAG1D,KAAK,CAACwC,MAAM,CAACC,OAAO,CAACiB,MAAM,CAACwB,QAAQ;QAEnGtD,SAAS,EAAC,iCAAiC;QAC3CoC,OAAO,EAAE9D,GAAG,CAACQ,aAAa,EAAE;QAC5B2D,OAAO,EAAEI,WAAW;;QAEpBN,QAAQ,EAAE,MAAM,KAAK;QACrBK,QAAQ,EAAE,CAAC;QACb,CACI;KAEjB;GACJ,MAAM;IACHvE,IAAI,GAAG,CAAC;MAAEC,GAAG;MAAEC;KAAO;MAClB,MAAMC,IAAI,GAAGD,KAAK,CAACE,OAAO,CAACD,IAAsB;MACjD,MAAMwB,SAAS,GACX,0PAA0P;MAE9P,MAAM6C,WAAW,GAAIjE,KAAuB;;QACxCA,KAAK,CAACkE,eAAe,EAAE;QACvBxE,GAAG,CAAC8E,cAAc,EAAE;QACpB5E,IAAI,CAAC6E,iBAAiB,CAAC/E,GAAG,CAAC0E,KAAK,CAAC;QACjC,sBAAAvB,QAAQ,CAACiB,OAAO,uDAAhB,mBAAkBC,KAAK,EAAE;OAC5B;MAED,oBACIlC;QACIT,SAAS,EAAEA,SAAS;wBACN1B,GAAG,CAACQ,aAAa,EAAE;QACjC2D,OAAO,EAAEI,WAAW;QACpBU,IAAI,EAAC,OAAO;QACZX,QAAQ,EAAE,CAAC,CAAC;QACZY,IAAI,EAAC;SACJlF,GAAG,CAACQ,aAAa,EAAE,gBAAG2B;QAAMT,SAAS,EAAC;QAAsC,GAAG,IAAI,CAC/E;KAEhB;;EAGL,OAAO;IACHrC,EAAE,EAAEJ,uBAAuB;IAC3BmE,MAAM;IACNrD,IAAI;IACJG,IAAI,EAAE;MACFyC,KAAK,EAAE,QAAQ;MACfjB,SAAS,EAAE7B,SAAS,GAAG,aAAa,GAAG,OAAO;MAC9C+C,iBAAiB,EAAE,IAAI;MACvBC,eAAe,EAAEhD,SAAS,GAAG,aAAa,GAAG;KAChD;;IAEDiD,cAAc,EAAE,KAAK;IACrBC,IAAI,EAAE;GACT;AACL;SAEgBoC,wBAAwB,CAAcrF,KAAwB;EAC1E,OAAO;IACHT,EAAE,EAAEH,uBAAuB;IAC3BkE,MAAM,EAAE,CAAC;MAAEnD;KAAO,kBACdkC,6BAACkB,OAAO;MACJC,KAAK,EACDrD,KAAK,CAACmF,qBAAqB,EAAE,GACvBtF,KAAK,CAACwC,MAAM,CAACC,OAAO,CAAC8C,SAAS,CAACC,WAAW,GAC1CxF,KAAK,CAACwC,MAAM,CAACC,OAAO,CAAC8C,SAAS,CAACE;oBAEzCpD,6BAACqD,UAAU;MACPlC,KAAK,EACDrD,KAAK,CAACmF,qBAAqB,EAAE,GACvBtF,KAAK,CAACwC,MAAM,CAACC,OAAO,CAAC8C,SAAS,CAACC,WAAW,GAC1CxF,KAAK,CAACwC,MAAM,CAACC,OAAO,CAAC8C,SAAS,CAACE,SAAS;MAElDE,UAAU,EAAC,UAAU;MACrB/D,SAAS,EAAC,eAAe;MACzBgE,IAAI,EAAEzF,KAAK,CAACmF,qBAAqB,EAAE,GAAG,qBAAqB,GAAG,sBAAsB;MACpFjB,OAAO,EAAE7D,KAAK;QACVA,KAAK,CAACkE,eAAe,EAAE;QACvBvE,KAAK,CAAC0F,qBAAqB,CAAC1F,KAAK,CAACmF,qBAAqB,EAAE,GAAG,KAAK,GAAG,IAAI,CAAC;OAC5E;MACDd,QAAQ,EAAE,CAAC;MACb,CAET;IACDvE,IAAI,EAAE,CAAC;MAAEC;KAA8B,kBACnCmC,6BAACkB,OAAO;MACJC,KAAK,eACDnB,4DACKnC,GAAG,CAAC4F,aAAa,EAAE,GAAG9F,KAAK,CAACwC,MAAM,CAACC,OAAO,CAAC8C,SAAS,CAACQ,QAAQ,GAAG/F,KAAK,CAACwC,MAAM,CAACC,OAAO,CAAC8C,SAAS,CAACS,MAAM,eACtG3D,6BAACwB,QAAQ;QAACjC,SAAS,EAAC,MAAM;QAACkC,IAAI,EAAE,CAAC,MAAM,EAAE5D,GAAG,CAAC4F,aAAa,EAAE,GAAG,GAAG,GAAG,GAAG;QAAK;oBAGtFzD,6BAACqD,UAAU;MACPlC,KAAK,EAAEtD,GAAG,CAAC4F,aAAa,EAAE,GAAG9F,KAAK,CAACwC,MAAM,CAACC,OAAO,CAAC8C,SAAS,CAACQ,QAAQ,GAAG/F,KAAK,CAACwC,MAAM,CAACC,OAAO,CAAC8C,SAAS,CAACS,MAAM;MAC5GL,UAAU,EAAC,UAAU;MACrBC,IAAI,EAAE1F,GAAG,CAAC4F,aAAa,EAAE,GAAG,cAAc,GAAG,eAAe;MAC5DzB,OAAO,EAAE7D,KAAK;QACVA,KAAK,CAACkE,eAAe,EAAE;QACvBxE,GAAG,CAAC+F,cAAc,EAAE;OACvB;MACDzB,QAAQ,EAAE,CAAC;MACb,CAET;IACDpE,IAAI,EAAE;MACFyC,KAAK,EAAE,QAAQ;MACfjB,SAAS,EAAE,mBAAmB;MAC9BkB,iBAAiB,EAAE,IAAI;MACvBC,eAAe,EAAE;KACpB;;IAEDC,cAAc,EAAE,KAAK;IACrBC,IAAI,EAAE;GACT;AACL;AAEA,MAAMiD,sBAAsB,GAAG,CAACC,QAAQ,EAAEjG,GAAG,KAAM,OAAOiG,QAAQ,KAAK,UAAU,GAAGA,QAAQ,CAACjG,GAAG,CAAC,GAAGiG,QAAS;AAE7G,SAASC,aAAa,CAAa;EAAElG,GAAG;EAAEmG,OAAO;EAAEC,WAAW;EAAEnG,KAAK;EAAEH;CAAO;EAC1E,MAAMuG,SAAS,GAAIC,MAAmC,IAClD,OAAOA,MAAM,CAACC,OAAO,KAAK,WAAW,GAC/B,OAAOD,MAAM,CAACC,OAAO,KAAK,UAAU,GAChCD,MAAM,CAACC,OAAO,CAACvG,GAAG,CAACgB,QAAQ,CAAC,GAC5BsF,MAAM,CAACC,OAAO,GAClB,IAAI;EAEd,MAAMC,cAAc,GAAGL,OAAO,CAACM,MAAM,CAACJ,SAAS,CAAC;EAChD,MAAMK,kBAAkB,GAAGN,WAAW,CAACK,MAAM,CAACJ,SAAS,CAAC;;EAGxD,MAAMM,eAAe,GAAG,6DAA6D;;EAGrF,MAAMrC,QAAQ,GAAGrE,KAAK,CAACE,OAAO,CAACD,IAAI,CAAC0G,cAAc,KAAK5G,GAAG,CAAC0E,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC;EAEzE,oBACIvC;IAAMT,SAAS,EAAC;KACX8E,cAAc,CAACzF,GAAG,CAAC,CAACuF,MAAM,EAAEO,CAAC,kBAC1B1E,6BAACqD,UAAU;IACPsB,GAAG,EAAED,CAAC;IACNnF,SAAS,EAAEiF,eAAe;kBACdX,sBAAsB,CAACM,MAAM,CAACS,SAAS,EAAE/G,GAAG,CAACgB,QAAQ,CAAC;IAClEyE,UAAU,EAAC,UAAU;IACrBuB,MAAM,EAAEV,MAAM,CAACU,MAAM,GAAGV,MAAM,CAACU,MAAM,CAAChH,GAAG,CAACgB,QAAQ,CAAC,GAAGiG,SAAS;IAC/DC,QAAQ,EAAElB,sBAAsB,CAACM,MAAM,CAACY,QAAQ,EAAElH,GAAG,CAACgB,QAAQ,CAAC;IAC/D0E,IAAI,EAAEM,sBAAsB,CAACM,MAAM,CAACZ,IAAI,EAAE1F,GAAG,CAACgB,QAAQ,CAAC;IACvDmD,OAAO,EAAE7D,KAAK;MACVA,KAAK,CAACkE,eAAe,EAAE;MACvB,IAAI8B,MAAM,CAACnC,OAAO,EAAE;QAChBmC,MAAM,CAACnC,OAAO,CAACnE,GAAG,CAACgB,QAAQ,CAAC;;KAEnC;IACDsD,QAAQ,EAAEA,QAAQ;IAClB7B,OAAO,EAAEuD,sBAAsB,CAACM,MAAM,CAAChF,IAAI,EAAEtB,GAAG,CAACgB,QAAQ;IAEhE,CAAC,EACD0F,kBAAkB,CAACS,MAAM,gBACtBhF,6BAACqD,UAAU;IACP9D,SAAS,EAAEiF,eAAe;kBACd7G,KAAK,CAACwC,MAAM,CAACC,OAAO,CAAC4D,OAAO,CAAC1D,OAAO;IAChDgD,UAAU,EAAC,UAAU;IACrBC,IAAI,EAAC,MAAM;IACXvB,OAAO,EAAE7D,KAAK;MACVA,KAAK,CAAC8G,cAAc,EAAE;KACzB;IACD9C,QAAQ,EAAEA,QAAQ;IAClB+C,IAAI,EAAEC,SAAS,iBACXnF,6BAACoF,IAAI,oBAAKD,SAAS,gBACfnF,6BAACoF,IAAI,CAACC,OAAO,QACRd,kBAAkB,CAAC3F,GAAG,CAAC,CAACuF,MAAM,EAAEO,CAAC,kBAC9B1E,6BAACoF,IAAI,CAACE,IAAI;MACNX,GAAG,EAAED,CAAC;MACNG,MAAM,EAAEV,MAAM,CAACU,MAAM,GAAGV,MAAM,CAACU,MAAM,CAAChH,GAAG,CAACgB,QAAQ,CAAC,GAAGiG,SAAS;MAC/DC,QAAQ,EAAElB,sBAAsB,CAACM,MAAM,CAACY,QAAQ,EAAElH,GAAG,CAACgB,QAAQ,CAAC;MAC/D0E,IAAI,EAAEM,sBAAsB,CAACM,MAAM,CAACZ,IAAI,EAAE1F,GAAG,CAACgB,QAAQ,CAAC;MACvDmD,OAAO,EAAE;QACL,IAAImC,MAAM,CAACnC,OAAO,EAAE;UAChBmC,MAAM,CAACnC,OAAO,CAACnE,GAAG,CAACgB,QAAQ,CAAC;;;OAGnCgF,sBAAsB,CAACM,MAAM,CAAChF,IAAI,EAAEtB,GAAG,CAACgB,QAAQ,CAAC,CAEzD,CAAC,CACS,CAEtB;IACDyB,OAAO,EAAE3C,KAAK,CAACwC,MAAM,CAACC,OAAO,CAAC4D,OAAO,CAAC1D;IACxC,GACF,IAAI,CACL;AAEf;SAEgBiF,sBAAsB,CAAcC,UAAU,EAAE7H,KAAwB;EACpF,MAAMqG,OAAO,GAAkCwB,UAAU,CAACR,MAAM,KAAK,CAAC,GAAGQ,UAAU,GAAGA,UAAU,CAAC/C,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;EAC5G,MAAMwB,WAAW,GAAkCuB,UAAU,CAAC/C,KAAK,CAAC+C,UAAU,CAACR,MAAM,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;EAEpG,OAAO;IACH9H,EAAE,EAAEF,qBAAqB;IACzBY,IAAI,EAAE,CAAC;MAAEC,GAAG;MAAEC;KAAO,kBACjBkC,6BAAC+D,aAAa;MAAQlG,GAAG,EAAEA,GAAG;MAAEmG,OAAO,EAAEA,OAAO;MAAEC,WAAW,EAAEA,WAAW;MAAEtG,KAAK,EAAEA,KAAK;MAAEG,KAAK,EAAEA;MACpG;IACDC,IAAI,EAAE;MACFyC,KAAK,EAAE,OAAO;MACdjB,SAAS,EAAG1B,GAAa,IACrB4H,EAAE,CACE,oHAAoH,EACpH;QACI,0EAA0E,EAAE,CAAC5H,GAAG,CAACQ,aAAa,EAAE;QAChG,8CAA8C,EAAER,GAAG,CAACQ,aAAa;OACpE,CACJ;MACLoC,iBAAiB,EAAE,IAAI;MACvBC,eAAe,EAAE;KACpB;;IAEDC,cAAc,EAAE;GACnB;AACL;;;;"}
|
1
|
+
{"version":3,"file":"columns.js","sources":["../../../../../../../../src/components/Table2/utilities/columns.tsx"],"sourcesContent":["import React from 'react';\nimport cn from 'classnames';\nimport { CellContext, DisplayColumnDef, Row, TableMeta } from '@tanstack/react-table';\nimport { Checkbox } from '../../Checkbox/Checkbox';\nimport { IconButton } from '../../IconButton/IconButton';\nimport { Shortcut } from '../../Shortcut/Shortcut';\nimport { Tooltip } from '../../Tooltip/Tooltip';\nimport { RowDragHandler, Table2RowActionProps } from '../types';\nimport { Menu } from '../../Menu/Menu';\nimport { Icon } from '../../Icon/Icon';\nimport { LocalizationTexts } from '../../Provider/Localization';\n\nexport const COLUMN_ID_FOR_DRAGGABLE = '__draggable';\nexport const COLUMN_ID_FOR_SELECTION = '__select';\nexport const COLUMN_ID_FOR_EXPANSION = '__expansion';\nexport const COLUMN_ID_FOR_ACTIONS = '__actions';\n\nexport const isInternalColumn = (id: string) =>\n id === COLUMN_ID_FOR_SELECTION ||\n id === COLUMN_ID_FOR_EXPANSION ||\n id === COLUMN_ID_FOR_ACTIONS ||\n id === COLUMN_ID_FOR_DRAGGABLE;\n\nexport const MIN_COLUMN_SIZE = 80; // accounts for padding and sort controls\n\nconst toggleBetween = (fromRowIndex: number, toRowIndex: number): [number, number] => {\n const fromIndex = toRowIndex < fromRowIndex ? toRowIndex : fromRowIndex;\n const toIndex = toRowIndex > fromRowIndex ? toRowIndex : fromRowIndex;\n\n return [fromIndex, toIndex];\n};\n\nexport function createRowDraggableColumn<TType = any>(\n onRowDrag: RowDragHandler<TType>,\n texts: LocalizationTexts\n): DisplayColumnDef<TType, any> {\n return {\n id: COLUMN_ID_FOR_DRAGGABLE,\n cell: ({ row, table }) => {\n const meta = table.options.meta as TableMeta<any>;\n const GHOST_ELEMENT_ID = 'taco_table_dragging';\n\n const onDragStart = (event: React.DragEvent): void => {\n const rows = row.getIsSelected() ? table.getSelectedRowModel().rows : [row, ...table.getSelectedRowModel().rows];\n\n meta.setDragging(rows.reduce((dragging, rowBeingDragged) => ({ ...dragging, [rowBeingDragged.id]: true }), {}));\n\n const data = rows.map(row => row.original);\n // set a default data value so that the consumer doesn't have to\n event.dataTransfer.setData('text', JSON.stringify(data));\n\n const showPlaceholder = (text: string) => {\n const ghost = document.createElement('div');\n ghost.id = GHOST_ELEMENT_ID;\n ghost.className = 'wcag-blue rounded flex w-48 p-4 absolute -ml-[100vw]';\n ghost.innerText = text;\n document.body.appendChild(ghost);\n event.dataTransfer.setDragImage(ghost, 0, 0);\n };\n\n const setDataTransfer = (text: string) => event.dataTransfer.setData('text', text);\n\n onRowDrag(data, showPlaceholder, setDataTransfer);\n };\n\n const onDragEnd = (): void => {\n document.getElementById(GHOST_ELEMENT_ID)?.remove();\n meta.setDragging({});\n };\n\n return (\n <div draggable onDragStart={onDragStart} onDragEnd={onDragEnd}>\n <Icon\n aria-label={texts.table2.columns.drag.tooltip}\n name=\"drag\"\n className=\"text-grey-darkest invisible w-[20px] cursor-grab active:cursor-grabbing group-hover/row:visible group-[[aria-grabbed]]/row:text-white\"\n />\n </div>\n );\n },\n meta: {\n align: 'center',\n className: 'items-center !px-0',\n disableTruncation: true,\n headerClassName: 'items-center !px-0',\n },\n // sizing\n enableResizing: false,\n size: 10,\n };\n}\n\nconst SelectCell = React.memo(({ lastSelectedRowIndex, rowIndex, isSelected, table, tableRef, texts, toggleSelected }: any) => {\n const meta = table.options.meta as TableMeta<any>;\n\n const handleClick = (event: React.MouseEvent): void => {\n event.stopPropagation();\n\n if (event.shiftKey) {\n const [fromIndex, toIndex] = toggleBetween(lastSelectedRowIndex?.current || 0, rowIndex);\n\n table\n .getRowModel()\n .rows.slice(fromIndex, toIndex + 1)\n .forEach(row => row.toggleSelected(true));\n } else {\n toggleSelected();\n }\n\n lastSelectedRowIndex.current = rowIndex;\n meta.setActiveRowIndex(rowIndex);\n tableRef.current?.focus();\n };\n\n return (\n <Tooltip\n title={\n <>\n {isSelected ? texts.table2.columns.select.select : texts.table2.columns.select.deselect}\n <Shortcut className=\"ml-2\" keys={['Space']} />\n </>\n }>\n <Checkbox\n aria-label={isSelected ? texts.table2.columns.select.select : texts.table2.columns.select.deselect}\n className=\"hover:border-blue !mt-[0.45rem]\"\n checked={isSelected}\n onClick={handleClick}\n // this is necessary to remove console spam from eslint\n onChange={() => false}\n tabIndex={-1}\n />\n </Tooltip>\n );\n});\nexport function createRowSelectionColumn<TType = any>(\n enableMultipleRowSelection: boolean,\n lastSelectedRowIndex: React.MutableRefObject<number | undefined>,\n onRowDrag: RowDragHandler<TType> | undefined,\n tableRef: React.RefObject<HTMLDivElement>,\n texts: LocalizationTexts\n): DisplayColumnDef<TType, any> {\n let header;\n let cell;\n\n if (enableMultipleRowSelection) {\n header = ({ table }) => (\n <Tooltip\n title={\n <>\n {table.getIsAllPageRowsSelected()\n ? texts.table2.columns.select.deselectAll\n : texts.table2.columns.select.selectAll}\n <Shortcut className=\"ml-2\" keys={['Ctrl', 'A']} />\n </>\n }>\n <Checkbox\n aria-label={\n table.getIsAllPageRowsSelected()\n ? texts.table2.columns.select.deselectAll\n : texts.table2.columns.select.selectAll\n }\n className=\"hover:border-blue !mt-0\"\n checked={table.getIsAllPageRowsSelected()}\n indeterminate={table.getIsSomePageRowsSelected()}\n onChange={checked => table.toggleAllPageRowsSelected(checked)}\n onClick={() => {\n tableRef.current?.focus();\n }}\n tabIndex={-1}\n />\n </Tooltip>\n );\n cell = ({ row, table }) => (\n <SelectCell\n lastSelectedRowIndex={lastSelectedRowIndex}\n rowIndex={row.index}\n isSelected={row.getIsSelected()}\n table={table}\n tableRef={tableRef}\n texts={texts}\n toggleSelected={row.toggleSelected}\n />\n );\n } else {\n cell = ({ row, table }) => {\n const meta = table.options.meta as TableMeta<any>;\n const className =\n 'border-grey-300 focus:yt-focus flex h-5 w-5 mt-[0.45rem] flex-shrink-0 items-center justify-center self-start rounded-full border-2 bg-white hover:border-[5px] aria-checked:border-blue-500 aria-checked:bg-blue-500 hover:aria-checked:border-blue-300';\n\n const handleClick = (event: React.MouseEvent): void => {\n event.stopPropagation();\n row.toggleSelected();\n meta.setActiveRowIndex(row.index);\n tableRef.current?.focus();\n };\n\n return (\n <button\n className={className}\n aria-checked={row.getIsSelected()}\n onClick={handleClick}\n role=\"radio\"\n tabIndex={-1}\n type=\"button\">\n {row.getIsSelected() ? <span className=\"h-2.5 w-2.5 rounded-full bg-white\" /> : null}\n </button>\n );\n };\n }\n\n return {\n id: COLUMN_ID_FOR_SELECTION,\n header,\n cell,\n meta: {\n align: 'center',\n className: onRowDrag ? '!pl-0 !pr-3' : '!px-3',\n disableTruncation: true,\n headerClassName: onRowDrag ? '!pl-0 !pr-3' : '!px-3',\n },\n // sizing\n enableResizing: false,\n size: 46,\n };\n}\n\nconst ExpandCell = React.memo(({ isExpanded, toggleExpanded, texts }: any) => {\n return (\n <Tooltip\n title={\n <>\n {isExpanded ? texts.table2.columns.expansion.collapse : texts.table2.columns.expansion.expand}\n <Shortcut className=\"ml-2\" keys={['Ctrl', isExpanded ? '←' : '→']} />\n </>\n }>\n <IconButton\n title={isExpanded ? texts.table2.columns.expansion.collapse : texts.table2.columns.expansion.expand}\n appearance=\"discrete\"\n icon={isExpanded ? 'chevron-down' : 'chevron-right'}\n onClick={event => {\n event.stopPropagation();\n toggleExpanded();\n }}\n tabIndex={-1}\n />\n </Tooltip>\n );\n});\n\nexport function createRowExpansionColumn<TType = any>(texts: LocalizationTexts): DisplayColumnDef<TType, any> {\n return {\n id: COLUMN_ID_FOR_EXPANSION,\n header: ({ table }) => (\n <Tooltip\n title={\n table.getIsSomeRowsExpanded()\n ? texts.table2.columns.expansion.collapseAll\n : texts.table2.columns.expansion.expandAll\n }>\n <IconButton\n title={\n table.getIsSomeRowsExpanded()\n ? texts.table2.columns.expansion.collapseAll\n : texts.table2.columns.expansion.expandAll\n }\n appearance=\"discrete\"\n className=\"-mb-2 -mt-1.5\"\n icon={table.getIsSomeRowsExpanded() ? 'chevron-down-double' : 'chevron-right-double'}\n onClick={event => {\n event.stopPropagation();\n table.toggleAllRowsExpanded(table.getIsSomeRowsExpanded() ? false : true);\n }}\n tabIndex={-1}\n />\n </Tooltip>\n ),\n cell: ({ row }: CellContext<TType, any>) => (\n <ExpandCell isExpanded={row.getIsExpanded()} toggleExpanded={row.toggleExpanded} texts={texts} />\n ),\n\n meta: {\n align: 'center',\n className: 'items-center !p-0',\n disableTruncation: true,\n headerClassName: 'items-center hover:!bg-white !p-0',\n },\n // sizing\n enableResizing: false,\n size: 36,\n };\n}\n\nconst getActionPropertyValue = (property, row) => (typeof property === 'function' ? property(row) : property);\n\nconst RowActionsCell = React.memo(({ row, actions, moreActions, table, texts }: any) => {\n const isVisible = (action: Table2RowActionProps<any>) =>\n typeof action.visible !== 'undefined'\n ? typeof action.visible === 'function'\n ? action.visible(row.original)\n : action.visible\n : true;\n\n const visibleActions = actions.filter(isVisible);\n const visibleMoreActions = moreActions.filter(isVisible);\n\n // If the row is not the active row or the hovered row then actions are hidden.\n const actionClassName = 'group-hover/row:flex group-[[aria-current]]/row:flex hidden';\n\n // only actions in the active row should be tabbable\n const tabIndex = table.options.meta.activeRowIndex === row.index ? 0 : -1;\n\n return (\n <span className=\"-mb-2 -mt-1.5 flex justify-end text-right\">\n {visibleActions.map((action, i) => (\n <IconButton\n key={i}\n className={actionClassName}\n aria-label={getActionPropertyValue(action.ariaLabel, row.original)}\n appearance=\"discrete\"\n dialog={action.dialog ? action.dialog(row.original) : undefined}\n disabled={getActionPropertyValue(action.disabled, row.original)}\n icon={getActionPropertyValue(action.icon, row.original)}\n onClick={event => {\n event.stopPropagation();\n if (action.onClick) {\n action.onClick(row.original);\n }\n }}\n tabIndex={tabIndex}\n tooltip={getActionPropertyValue(action.text, row.original)}\n />\n ))}\n {visibleMoreActions.length ? (\n <IconButton\n className={actionClassName}\n aria-label={texts.table2.columns.actions.tooltip}\n appearance=\"discrete\"\n icon=\"more\"\n onClick={event => {\n event.preventDefault();\n }}\n tabIndex={tabIndex}\n menu={menuProps => (\n <Menu {...menuProps}>\n <Menu.Content>\n {visibleMoreActions.map((action, i) => (\n <Menu.Item\n key={i}\n dialog={action.dialog ? action.dialog(row.original) : undefined}\n disabled={getActionPropertyValue(action.disabled, row.original)}\n icon={getActionPropertyValue(action.icon, row.original)}\n onClick={() => {\n if (action.onClick) {\n action.onClick(row.original);\n }\n }}>\n {getActionPropertyValue(action.text, row.original)}\n </Menu.Item>\n ))}\n </Menu.Content>\n </Menu>\n )}\n tooltip={texts.table2.columns.actions.tooltip}\n />\n ) : null}\n </span>\n );\n});\n\nexport function createRowActionsColumn<TType = any>(rowActions, texts: LocalizationTexts): DisplayColumnDef<TType, any> {\n const actions: Table2RowActionProps<TType>[] = rowActions.length === 4 ? rowActions : rowActions.slice(0, 3);\n const moreActions: Table2RowActionProps<TType>[] = rowActions.slice(rowActions.length === 4 ? 4 : 3);\n\n return {\n id: COLUMN_ID_FOR_ACTIONS,\n cell: ({ row, table }) => (\n <RowActionsCell row={row} actions={actions} moreActions={moreActions} texts={texts} table={table} />\n ),\n meta: {\n align: 'right',\n className: (row: Row<any>) =>\n cn(\n 'items-center print:opacity-0 group-[[aria-current]]/row:sticky group-hover/row:sticky right-0 bg-transparent !px-1',\n {\n 'group-[[aria-current]]/row:!shadow-[-6px_0px_6px_theme(colors.grey.200)] group-hover/row:!shadow-[-6px_0px_6px_theme(colors.grey.100)]':\n !row.getIsSelected(),\n 'shadow-[-6px_0px_6px_theme(colors.blue.100)]': row.getIsSelected(),\n }\n ),\n disableTruncation: true,\n headerClassName: 'hover:!bg-white !px-1',\n },\n // sizing\n enableResizing: false,\n };\n}\n"],"names":["COLUMN_ID_FOR_DRAGGABLE","COLUMN_ID_FOR_SELECTION","COLUMN_ID_FOR_EXPANSION","COLUMN_ID_FOR_ACTIONS","isInternalColumn","id","MIN_COLUMN_SIZE","toggleBetween","fromRowIndex","toRowIndex","fromIndex","toIndex","createRowDraggableColumn","onRowDrag","texts","cell","row","table","meta","options","GHOST_ELEMENT_ID","onDragStart","event","rows","getIsSelected","getSelectedRowModel","setDragging","reduce","dragging","rowBeingDragged","data","map","original","dataTransfer","setData","JSON","stringify","showPlaceholder","text","ghost","document","createElement","className","innerText","body","appendChild","setDragImage","setDataTransfer","onDragEnd","getElementById","remove","React","draggable","Icon","table2","columns","drag","tooltip","name","align","disableTruncation","headerClassName","enableResizing","size","SelectCell","memo","lastSelectedRowIndex","rowIndex","isSelected","tableRef","toggleSelected","handleClick","stopPropagation","shiftKey","current","getRowModel","slice","forEach","setActiveRowIndex","focus","Tooltip","title","select","deselect","Shortcut","keys","Checkbox","checked","onClick","onChange","tabIndex","createRowSelectionColumn","enableMultipleRowSelection","header","getIsAllPageRowsSelected","deselectAll","selectAll","indeterminate","getIsSomePageRowsSelected","toggleAllPageRowsSelected","index","role","type","ExpandCell","isExpanded","toggleExpanded","expansion","collapse","expand","IconButton","appearance","icon","createRowExpansionColumn","getIsSomeRowsExpanded","collapseAll","expandAll","toggleAllRowsExpanded","getIsExpanded","getActionPropertyValue","property","RowActionsCell","actions","moreActions","isVisible","action","visible","visibleActions","filter","visibleMoreActions","actionClassName","activeRowIndex","i","key","ariaLabel","dialog","undefined","disabled","length","preventDefault","menu","menuProps","Menu","Content","Item","createRowActionsColumn","rowActions","cn"],"mappings":"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"}
|
@@ -10497,6 +10497,44 @@ function createRowDraggableColumn(onRowDrag, texts) {
|
|
10497
10497
|
size: 10
|
10498
10498
|
};
|
10499
10499
|
}
|
10500
|
+
const SelectCell = /*#__PURE__*/React__default.memo(({
|
10501
|
+
lastSelectedRowIndex,
|
10502
|
+
rowIndex,
|
10503
|
+
isSelected,
|
10504
|
+
table,
|
10505
|
+
tableRef,
|
10506
|
+
texts,
|
10507
|
+
toggleSelected
|
10508
|
+
}) => {
|
10509
|
+
const meta = table.options.meta;
|
10510
|
+
const handleClick = event => {
|
10511
|
+
var _tableRef$current;
|
10512
|
+
event.stopPropagation();
|
10513
|
+
if (event.shiftKey) {
|
10514
|
+
const [fromIndex, toIndex] = toggleBetween$1((lastSelectedRowIndex === null || lastSelectedRowIndex === void 0 ? void 0 : lastSelectedRowIndex.current) || 0, rowIndex);
|
10515
|
+
table.getRowModel().rows.slice(fromIndex, toIndex + 1).forEach(row => row.toggleSelected(true));
|
10516
|
+
} else {
|
10517
|
+
toggleSelected();
|
10518
|
+
}
|
10519
|
+
lastSelectedRowIndex.current = rowIndex;
|
10520
|
+
meta.setActiveRowIndex(rowIndex);
|
10521
|
+
(_tableRef$current = tableRef.current) === null || _tableRef$current === void 0 ? void 0 : _tableRef$current.focus();
|
10522
|
+
};
|
10523
|
+
return /*#__PURE__*/React__default.createElement(Tooltip, {
|
10524
|
+
title: /*#__PURE__*/React__default.createElement(React__default.Fragment, null, isSelected ? texts.table2.columns.select.select : texts.table2.columns.select.deselect, /*#__PURE__*/React__default.createElement(Shortcut$1, {
|
10525
|
+
className: "ml-2",
|
10526
|
+
keys: ['Space']
|
10527
|
+
}))
|
10528
|
+
}, /*#__PURE__*/React__default.createElement(Checkbox, {
|
10529
|
+
"aria-label": isSelected ? texts.table2.columns.select.select : texts.table2.columns.select.deselect,
|
10530
|
+
className: "hover:border-blue !mt-[0.45rem]",
|
10531
|
+
checked: isSelected,
|
10532
|
+
onClick: handleClick,
|
10533
|
+
// this is necessary to remove console spam from eslint
|
10534
|
+
onChange: () => false,
|
10535
|
+
tabIndex: -1
|
10536
|
+
}));
|
10537
|
+
});
|
10500
10538
|
function createRowSelectionColumn(enableMultipleRowSelection, lastSelectedRowIndex, onRowDrag, tableRef, texts) {
|
10501
10539
|
let header;
|
10502
10540
|
let cell;
|
@@ -10515,44 +10553,23 @@ function createRowSelectionColumn(enableMultipleRowSelection, lastSelectedRowInd
|
|
10515
10553
|
indeterminate: table.getIsSomePageRowsSelected(),
|
10516
10554
|
onChange: checked => table.toggleAllPageRowsSelected(checked),
|
10517
10555
|
onClick: () => {
|
10518
|
-
var _tableRef$
|
10519
|
-
(_tableRef$
|
10556
|
+
var _tableRef$current2;
|
10557
|
+
(_tableRef$current2 = tableRef.current) === null || _tableRef$current2 === void 0 ? void 0 : _tableRef$current2.focus();
|
10520
10558
|
},
|
10521
10559
|
tabIndex: -1
|
10522
10560
|
}));
|
10523
10561
|
cell = ({
|
10524
10562
|
row,
|
10525
10563
|
table
|
10526
|
-
}) => {
|
10527
|
-
|
10528
|
-
|
10529
|
-
|
10530
|
-
|
10531
|
-
|
10532
|
-
|
10533
|
-
|
10534
|
-
|
10535
|
-
row.toggleSelected();
|
10536
|
-
}
|
10537
|
-
lastSelectedRowIndex.current = row.index;
|
10538
|
-
meta.setActiveRowIndex(row.index);
|
10539
|
-
(_tableRef$current2 = tableRef.current) === null || _tableRef$current2 === void 0 ? void 0 : _tableRef$current2.focus();
|
10540
|
-
};
|
10541
|
-
return /*#__PURE__*/React__default.createElement(Tooltip, {
|
10542
|
-
title: /*#__PURE__*/React__default.createElement(React__default.Fragment, null, row.getIsSelected() ? texts.table2.columns.select.select : texts.table2.columns.select.deselect, /*#__PURE__*/React__default.createElement(Shortcut$1, {
|
10543
|
-
className: "ml-2",
|
10544
|
-
keys: ['Space']
|
10545
|
-
}))
|
10546
|
-
}, /*#__PURE__*/React__default.createElement(Checkbox, {
|
10547
|
-
"aria-label": row.getIsSelected() ? texts.table2.columns.select.select : texts.table2.columns.select.deselect,
|
10548
|
-
className: "hover:border-blue !mt-[0.45rem]",
|
10549
|
-
checked: row.getIsSelected(),
|
10550
|
-
onClick: handleClick,
|
10551
|
-
// this is necessary to remove console spam from eslint
|
10552
|
-
onChange: () => false,
|
10553
|
-
tabIndex: -1
|
10554
|
-
}));
|
10555
|
-
};
|
10564
|
+
}) => /*#__PURE__*/React__default.createElement(SelectCell, {
|
10565
|
+
lastSelectedRowIndex: lastSelectedRowIndex,
|
10566
|
+
rowIndex: row.index,
|
10567
|
+
isSelected: row.getIsSelected(),
|
10568
|
+
table: table,
|
10569
|
+
tableRef: tableRef,
|
10570
|
+
texts: texts,
|
10571
|
+
toggleSelected: row.toggleSelected
|
10572
|
+
});
|
10556
10573
|
} else {
|
10557
10574
|
cell = ({
|
10558
10575
|
row,
|
@@ -10594,6 +10611,27 @@ function createRowSelectionColumn(enableMultipleRowSelection, lastSelectedRowInd
|
|
10594
10611
|
size: 46
|
10595
10612
|
};
|
10596
10613
|
}
|
10614
|
+
const ExpandCell = /*#__PURE__*/React__default.memo(({
|
10615
|
+
isExpanded,
|
10616
|
+
toggleExpanded,
|
10617
|
+
texts
|
10618
|
+
}) => {
|
10619
|
+
return /*#__PURE__*/React__default.createElement(Tooltip, {
|
10620
|
+
title: /*#__PURE__*/React__default.createElement(React__default.Fragment, null, isExpanded ? texts.table2.columns.expansion.collapse : texts.table2.columns.expansion.expand, /*#__PURE__*/React__default.createElement(Shortcut$1, {
|
10621
|
+
className: "ml-2",
|
10622
|
+
keys: ['Ctrl', isExpanded ? '←' : '→']
|
10623
|
+
}))
|
10624
|
+
}, /*#__PURE__*/React__default.createElement(IconButton, {
|
10625
|
+
title: isExpanded ? texts.table2.columns.expansion.collapse : texts.table2.columns.expansion.expand,
|
10626
|
+
appearance: "discrete",
|
10627
|
+
icon: isExpanded ? 'chevron-down' : 'chevron-right',
|
10628
|
+
onClick: event => {
|
10629
|
+
event.stopPropagation();
|
10630
|
+
toggleExpanded();
|
10631
|
+
},
|
10632
|
+
tabIndex: -1
|
10633
|
+
}));
|
10634
|
+
});
|
10597
10635
|
function createRowExpansionColumn(texts) {
|
10598
10636
|
return {
|
10599
10637
|
id: COLUMN_ID_FOR_EXPANSION,
|
@@ -10614,21 +10652,11 @@ function createRowExpansionColumn(texts) {
|
|
10614
10652
|
})),
|
10615
10653
|
cell: ({
|
10616
10654
|
row
|
10617
|
-
}) => /*#__PURE__*/React__default.createElement(
|
10618
|
-
|
10619
|
-
|
10620
|
-
|
10621
|
-
|
10622
|
-
}, /*#__PURE__*/React__default.createElement(IconButton, {
|
10623
|
-
title: row.getIsExpanded() ? texts.table2.columns.expansion.collapse : texts.table2.columns.expansion.expand,
|
10624
|
-
appearance: "discrete",
|
10625
|
-
icon: row.getIsExpanded() ? 'chevron-down' : 'chevron-right',
|
10626
|
-
onClick: event => {
|
10627
|
-
event.stopPropagation();
|
10628
|
-
row.toggleExpanded();
|
10629
|
-
},
|
10630
|
-
tabIndex: -1
|
10631
|
-
})),
|
10655
|
+
}) => /*#__PURE__*/React__default.createElement(ExpandCell, {
|
10656
|
+
isExpanded: row.getIsExpanded(),
|
10657
|
+
toggleExpanded: row.toggleExpanded,
|
10658
|
+
texts: texts
|
10659
|
+
}),
|
10632
10660
|
meta: {
|
10633
10661
|
align: 'center',
|
10634
10662
|
className: 'items-center !p-0',
|
@@ -10641,13 +10669,13 @@ function createRowExpansionColumn(texts) {
|
|
10641
10669
|
};
|
10642
10670
|
}
|
10643
10671
|
const getActionPropertyValue = (property, row) => typeof property === 'function' ? property(row) : property;
|
10644
|
-
|
10672
|
+
const RowActionsCell = /*#__PURE__*/React__default.memo(({
|
10645
10673
|
row,
|
10646
10674
|
actions,
|
10647
10675
|
moreActions,
|
10648
10676
|
table,
|
10649
10677
|
texts
|
10650
|
-
}) {
|
10678
|
+
}) => {
|
10651
10679
|
const isVisible = action => typeof action.visible !== 'undefined' ? typeof action.visible === 'function' ? action.visible(row.original) : action.visible : true;
|
10652
10680
|
const visibleActions = actions.filter(isVisible);
|
10653
10681
|
const visibleMoreActions = moreActions.filter(isVisible);
|
@@ -10695,7 +10723,7 @@ function RowActionCell({
|
|
10695
10723
|
}, getActionPropertyValue(action.text, row.original))))),
|
10696
10724
|
tooltip: texts.table2.columns.actions.tooltip
|
10697
10725
|
}) : null);
|
10698
|
-
}
|
10726
|
+
});
|
10699
10727
|
function createRowActionsColumn(rowActions, texts) {
|
10700
10728
|
const actions = rowActions.length === 4 ? rowActions : rowActions.slice(0, 3);
|
10701
10729
|
const moreActions = rowActions.slice(rowActions.length === 4 ? 4 : 3);
|
@@ -10704,7 +10732,7 @@ function createRowActionsColumn(rowActions, texts) {
|
|
10704
10732
|
cell: ({
|
10705
10733
|
row,
|
10706
10734
|
table
|
10707
|
-
}) => /*#__PURE__*/React__default.createElement(
|
10735
|
+
}) => /*#__PURE__*/React__default.createElement(RowActionsCell, {
|
10708
10736
|
row: row,
|
10709
10737
|
actions: actions,
|
10710
10738
|
moreActions: moreActions,
|
@@ -10714,7 +10742,7 @@ function createRowActionsColumn(rowActions, texts) {
|
|
10714
10742
|
meta: {
|
10715
10743
|
align: 'right',
|
10716
10744
|
className: row => cn('items-center print:opacity-0 group-[[aria-current]]/row:sticky group-hover/row:sticky right-0 bg-transparent !px-1', {
|
10717
|
-
'group-[[aria-current]]/row:!shadow-[-6px_0px_6px_theme(colors.grey.200)]': !row.getIsSelected(),
|
10745
|
+
'group-[[aria-current]]/row:!shadow-[-6px_0px_6px_theme(colors.grey.200)] group-hover/row:!shadow-[-6px_0px_6px_theme(colors.grey.100)]': !row.getIsSelected(),
|
10718
10746
|
'shadow-[-6px_0px_6px_theme(colors.blue.100)]': row.getIsSelected()
|
10719
10747
|
}),
|
10720
10748
|
disableTruncation: true,
|
@@ -11682,7 +11710,7 @@ const EditingCell = /*#__PURE__*/React__default.memo( /*#__PURE__*/React__defaul
|
|
11682
11710
|
break;
|
11683
11711
|
case 'switch':
|
11684
11712
|
controlComponent = /*#__PURE__*/React__default.createElement(Switch, Object.assign({}, attributes, {
|
11685
|
-
className: cn('mx-2', detailModeClassName),
|
11713
|
+
className: cn('mx-2 mt-1.5', detailModeClassName),
|
11686
11714
|
checked: Boolean(state),
|
11687
11715
|
onChange: setState,
|
11688
11716
|
ref: controlRef
|
@@ -12324,8 +12352,7 @@ const useVirtualiser = ({
|
|
12324
12352
|
const virtualiser = reactVirtual.useVirtual({
|
12325
12353
|
parentRef: tableRef,
|
12326
12354
|
size: rows.length,
|
12327
|
-
estimateSize
|
12328
|
-
overscan: 10
|
12355
|
+
estimateSize
|
12329
12356
|
});
|
12330
12357
|
const paddingTop = virtualiser.virtualItems.length > 0 ? ((_virtualiser$virtualI = virtualiser.virtualItems) === null || _virtualiser$virtualI === void 0 ? void 0 : (_virtualiser$virtualI2 = _virtualiser$virtualI[0]) === null || _virtualiser$virtualI2 === void 0 ? void 0 : _virtualiser$virtualI2.start) || 0 : 0;
|
12331
12358
|
const paddingBottom = virtualiser.virtualItems.length > 0 ? virtualiser.totalSize - (((_virtualiser$virtualI3 = virtualiser.virtualItems) === null || _virtualiser$virtualI3 === void 0 ? void 0 : (_virtualiser$virtualI4 = _virtualiser$virtualI3[virtualiser.virtualItems.length - 1]) === null || _virtualiser$virtualI4 === void 0 ? void 0 : _virtualiser$virtualI4.end) || 0) : 0;
|
@@ -13739,7 +13766,7 @@ const Table2 = /*#__PURE__*/React__default.forwardRef(function Table2(props, ref
|
|
13739
13766
|
return summaryIds.length && summaryIds.some(v => !visibleIds.includes(v));
|
13740
13767
|
}, [footers, columnVisibility]);
|
13741
13768
|
return /*#__PURE__*/React__default.createElement("div", {
|
13742
|
-
className: "flex h-full w-
|
13769
|
+
className: "-m-0.5 flex h-full w-[calc(100%_+_0.25rem)] flex-col gap-4 overflow-hidden p-0.5"
|
13743
13770
|
}, hasToolbar ? /*#__PURE__*/React__default.createElement("div", {
|
13744
13771
|
className: "flex flex-wrap gap-2"
|
13745
13772
|
}, toolbar, hasInternalToolbar ? /*#__PURE__*/React__default.createElement(Group, {
|