@economic/taco 2.10.0 → 2.11.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.
- package/dist/components/Table3/components/toolbar/Settings.d.ts +2 -0
- package/dist/components/Table3/components/toolbar/Toolbar.d.ts +2 -1
- package/dist/components/Table3/hooks/features/useCurrentRow.d.ts +2 -2
- package/dist/components/Table3/hooks/useTable.d.ts +2 -1
- package/dist/components/Table3/types.d.ts +3 -0
- package/dist/esm/packages/taco/src/components/Table3/Table3.js +4 -2
- package/dist/esm/packages/taco/src/components/Table3/Table3.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table3/components/rows/Row.js +4 -13
- package/dist/esm/packages/taco/src/components/Table3/components/rows/Row.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table3/components/toolbar/Settings.js +5 -1
- package/dist/esm/packages/taco/src/components/Table3/components/toolbar/Settings.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table3/components/toolbar/Toolbar.js +3 -1
- package/dist/esm/packages/taco/src/components/Table3/components/toolbar/Toolbar.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table3/hooks/features/useCurrentRow.js +13 -1
- package/dist/esm/packages/taco/src/components/Table3/hooks/features/useCurrentRow.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table3/hooks/listeners/useSettingsStateListener.js +1 -12
- package/dist/esm/packages/taco/src/components/Table3/hooks/listeners/useSettingsStateListener.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table3/hooks/useTable.js +15 -0
- package/dist/esm/packages/taco/src/components/Table3/hooks/useTable.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table3/types.js.map +1 -1
- package/dist/taco.cjs.development.js +45 -30
- 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
- package/types.json +5595 -5411
| @@ -140,6 +140,20 @@ function useTable(props) { | |
| 140 140 | 
             
                }
         | 
| 141 141 | 
             
                return state;
         | 
| 142 142 | 
             
              }, []);
         | 
| 143 | 
            +
              const getSettings = () => {
         | 
| 144 | 
            +
                const state = table.getState();
         | 
| 145 | 
            +
                return {
         | 
| 146 | 
            +
                  columnFreezingIndex: columnFreezing.frozenColumnIndex,
         | 
| 147 | 
            +
                  columnOrder: columnOrdering.isEnabled ? state.columnOrder : undefined,
         | 
| 148 | 
            +
                  columnSizing: table.options.enableColumnResizing ? state.columnSizing : undefined,
         | 
| 149 | 
            +
                  columnVisibility: table.options.enableHiding ? state.columnVisibility : undefined,
         | 
| 150 | 
            +
                  excludeUnmatchedRecordsInSearch: search.excludeUnmatchedResults,
         | 
| 151 | 
            +
                  fontSize: fontSize.isEnabled ? fontSize.size : undefined,
         | 
| 152 | 
            +
                  rowHeight: rowHeight.isEnabled ? rowHeight.height : undefined,
         | 
| 153 | 
            +
                  showWarningWhenPrintingLargeDataset: printing.printWarningDialogVisibility,
         | 
| 154 | 
            +
                  sorting: state.sorting
         | 
| 155 | 
            +
                };
         | 
| 156 | 
            +
              };
         | 
| 143 157 | 
             
              const table = useReactTable({
         | 
| 144 158 | 
             
                data: props.data,
         | 
| 145 159 | 
             
                columns,
         | 
| @@ -154,6 +168,7 @@ function useTable(props) { | |
| 154 168 | 
             
                  editing,
         | 
| 155 169 | 
             
                  enableFooter: options.enableFooter,
         | 
| 156 170 | 
             
                  fontSize,
         | 
| 171 | 
            +
                  getSettings,
         | 
| 157 172 | 
             
                  hoverState,
         | 
| 158 173 | 
             
                  isPrinting: props.id.endsWith('_print'),
         | 
| 159 174 | 
             
                  isUsingServer: !!props.loadPage,
         | 
| @@ -1 +1 @@ | |
| 1 | 
            -
            {"version":3,"file":"useTable.js","sources":["../../../../../../../../src/components/Table3/hooks/useTable.tsx"],"sourcesContent":["import React from 'react';\nimport {\n    getCoreRowModel,\n    useReactTable,\n    Row as RTRow,\n    RowData,\n    Column as RTColumn,\n    TableOptions as RTableOptions,\n    TableState,\n    getSortedRowModel,\n    getFilteredRowModel,\n    ColumnMeta,\n} from '@tanstack/react-table';\nimport {\n    Table3ColumnAlignment,\n    Table3ColumnRenderer,\n    Table3Props,\n    Table3ColumnHeaderMenu,\n    Table3ColumnControlRenderer,\n    Table3ColumnDataType,\n    Table3ColumnClassNameHandler,\n    Table3ColumnFooterRenderer,\n    TableStrategy,\n    Table3FilterComparator,\n} from '../types';\nimport { useCurrentRow } from './features/useCurrentRow';\nimport { usePauseHoverState } from './features/usePauseHoverState';\nimport { useTablePreset } from './useTablePreset';\nimport { useRowHeight } from './features/useRowHeight';\nimport { useFontSize } from './features/useFontSize';\nimport { useRowSelectionListener } from './listeners/useRowSelectionListener';\nimport { useRowDrag } from './features/useRowDrag';\nimport { useSettingsStateListener } from './listeners/useSettingsStateListener';\nimport { columnFilterFn, globalFilterFn } from '../util/filtering';\nimport { useSortingStateListener } from './listeners/useSortingStateListener';\nimport { useFilteringStateListener } from './listeners/useFilteringStateListener';\nimport { useCurrentRowListener } from './listeners/useCurrentRowListener';\nimport { useColumnFreezing } from './features/useColumnFreezing';\nimport { useRowSelection } from './features/useRowSelection';\nimport { useRowClick } from './features/useRowClick';\nimport { ensureOrdering, useColumnOrdering } from './features/useColumnOrdering';\nimport { useRowDrop } from './features/useRowDrop';\nimport { useConvertChildrenToColumns } from './useConvertChildrenToColumns';\nimport { useEditing } from './features/useEditing';\nimport { usePrinting } from './features/usePrinting';\nimport { useShortcutsListener } from './listeners/useShortcutsListener';\nimport { useRowGoto } from './features/useRowGoto';\nimport { useServerLoadingListener } from './listeners/useServerLoadingListener';\nimport { useEditingStateListener } from './listeners/useEditingStateListener';\nimport { useSearch } from './features/useSearch';\nimport { useRowActions } from './features/useRowActions';\nimport { useSettings } from './features/useSettings';\nimport { getCellValueAsString } from '../util/columns';\n\ndeclare module '@tanstack/table-core' {\n    interface TableMeta<TData extends RowData> {\n        columnFreezing: ReturnType<typeof useColumnFreezing>;\n        columnOrdering: ReturnType<typeof useColumnOrdering>;\n        currentRow: ReturnType<typeof useCurrentRow>;\n        editing: ReturnType<typeof useEditing>;\n        enableFooter: boolean;\n        fontSize: ReturnType<typeof useFontSize>;\n        hoverState: ReturnType<typeof usePauseHoverState>;\n        isPrinting: boolean;\n        isUsingServer: boolean;\n        printing: ReturnType<typeof usePrinting>;\n        rowActions: ReturnType<typeof useRowActions>;\n        rowClick: ReturnType<typeof useRowClick>;\n        rowDrag: ReturnType<typeof useRowDrag>;\n        rowDrop: ReturnType<typeof useRowDrop>;\n        rowGoto: ReturnType<typeof useRowGoto>;\n        rowHeight: ReturnType<typeof useRowHeight>;\n        rowSelection: ReturnType<typeof useRowSelection>;\n        search: ReturnType<typeof useSearch>;\n    }\n\n    interface ColumnMeta<TData extends RowData, TValue> {\n        align?: Table3ColumnAlignment;\n        // @ts-expect-error -- we ignore it because it conflicts with Table2 also overridding ColumnMeta\n        className?: Table3ColumnClassNameHandler<TData>;\n        // @ts-expect-error -- we ignore it because it conflicts with Table2 also overridding ColumnMeta\n        control?: Table3ColumnControlRenderer<TData>;\n        // @ts-expect-error -- we ignore it because it conflicts with Table2 also overridding ColumnMeta\n        dataType?: Table3ColumnDataType;\n        // @ts-expect-error -- we ignore it because it conflicts with Table2 also overridding ColumnMeta\n        defaultWidth?: number;\n        enableOrdering: boolean;\n        enableSearch: boolean;\n        enableTruncate: boolean;\n        filters?: Table3FilterComparator[];\n        footer?: Table3ColumnFooterRenderer;\n        header: string;\n        headerClassName?: string;\n        menu?: Table3ColumnHeaderMenu;\n        renderer?: Table3ColumnRenderer<TValue, TData>;\n        tooltip?: string;\n    }\n\n    interface CellContext<TData extends RowData, TValue> {\n        index: number;\n        tableRef: React.RefObject<HTMLDivElement>;\n    }\n\n    interface HeaderContext<TData extends RowData, TValue> {\n        scrollToIndex: TableStrategy['scrollToIndex'];\n    }\n}\n\nexport function useTable<TType = unknown>(props: Table3Props<TType>) {\n    // options\n    const options = useTablePreset(props);\n\n    const tableOptions: Partial<RTableOptions<TType>> = {\n        enableColumnFilters: options.enableFiltering,\n        enableColumnResizing: options.enableColumnResizing,\n        enableExpanding: options.enableRowExpansion,\n        enableGlobalFilter: options.enableSearch,\n        enableHiding: options.enableColumnHiding,\n        enableRowSelection: options.enableRowSelection,\n        enableMultiRowSelection: !options.enableRowSelectionSingle,\n        enableSorting: options.enableSorting,\n    };\n\n    // resizing\n    if (tableOptions.enableColumnResizing) {\n        tableOptions.columnResizeMode = 'onChange';\n    }\n\n    // filtering\n    if (tableOptions.enableColumnFilters) {\n        if (!props.onFilter) {\n            tableOptions.filterFns = {\n                tacoFilter: (row: RTRow<TType>, columnId: string, filter: any) => columnFilterFn(row.getValue(columnId), filter),\n            };\n            tableOptions.getFilteredRowModel = getFilteredRowModel();\n        }\n\n        // we don't tableOptions.manualFiltering = true; because it breaks global filtering, server filtering still works :shrug:\n    }\n\n    // search\n    if (tableOptions.enableGlobalFilter) {\n        // search is always client side, since we call loadAll when searching\n        tableOptions.globalFilterFn = (row: RTRow<TType>, columnId: string, searchQuery: string) => {\n            try {\n                if (row.original) {\n                    const cell = row.getAllCells().find(cell => cell.column.id === columnId);\n                    const columnMeta = cell?.column.columnDef.meta;\n\n                    if (cell && cell.column.getIsVisible() && columnMeta?.enableSearch) {\n                        const cellValue = getCellValueAsString(row.original[columnId], columnMeta?.dataType);\n\n                        if (cellValue !== undefined) {\n                            return globalFilterFn(cellValue, searchQuery);\n                        }\n                    }\n                    return false;\n                }\n            } catch {\n                //\n            }\n\n            return false;\n        };\n        tableOptions.getFilteredRowModel = getFilteredRowModel();\n        tableOptions.getColumnCanGlobalFilter = (column: RTColumn<TType>) =>\n            (column.columnDef.meta as ColumnMeta<TType, unknown>).enableSearch ?? true;\n    }\n\n    // sorting\n    if (options.enableSorting) {\n        if (props.onSort) {\n            tableOptions.manualSorting = true;\n            // onSort is called as a listener to let the consumer update their data, so we don't use onSortingChange\n        } else {\n            tableOptions.getSortedRowModel = getSortedRowModel();\n        }\n    }\n\n    const [defaultSettings, setSettings] = useSettings(props.id, props.defaultSettings, props.onChangeSettings);\n\n    // custom features\n    const columnFreezing = useColumnFreezing(\n        // temporarily see if deprecated frozenColumnCount is there\n        defaultSettings.columnFreezingIndex ?? (defaultSettings as any)?.frozenColumnCount ?? props.defaultColumnFreezingIndex,\n        options\n    );\n    const columnOrdering = useColumnOrdering(options);\n    const currentRow = useCurrentRow(props.defaultCurrentRowIndex);\n    const editing = useEditing(options.enableEditing, props.onSave);\n    const fontSize = useFontSize(options.enableFontSize, defaultSettings.fontSize);\n    const hoverState = usePauseHoverState();\n    const printing = usePrinting(options.enablePrinting, props.loadAll, defaultSettings.showWarningWhenPrintingLargeDataset);\n    const rowActions = useRowActions<TType>(props.actionsForRow, props.actionsForRowLength);\n    const rowClick = useRowClick<TType>(props.onRowClick);\n    const rowDrag = useRowDrag(options.enableRowDrag);\n    const rowDrop = useRowDrop(options.enableRowDrop, props.onRowDrop);\n    const rowGoto = useRowGoto(options.enableRowGoto, props.onRowGoto);\n    const rowHeight = useRowHeight(\n        options.enableRowHeight,\n        // temporarily see if deprecated rowDensity is there\n        defaultSettings.rowHeight ?? (defaultSettings as any)?.rowDensity\n    );\n    const rowSelection = useRowSelection();\n    const search = useSearch(options.enableSearch, defaultSettings.excludeUnmatchedRecordsInSearch, props.loadAll);\n\n    // columns\n    const { columns, defaultColumnSizing, defaultColumnVisibility, defaultSorting } = useConvertChildrenToColumns<TType>(\n        props,\n        options,\n        editing\n    );\n\n    // built-in features\n    const initialState: Partial<TableState> = React.useMemo(() => {\n        const sanitizeSortedColumns = column => columns.find(definedColumn => definedColumn.id === column.id);\n\n        const state: Partial<TableState> = {\n            columnOrder: ensureOrdering<TType>(columns, defaultSettings.columnOrder),\n            columnSizing: defaultSettings.columnSizing ?? defaultColumnSizing,\n            columnVisibility: defaultSettings.columnVisibility ?? defaultColumnVisibility,\n            sorting: defaultSettings.sorting ? defaultSettings.sorting.filter(sanitizeSortedColumns) : defaultSorting,\n        };\n\n        // we don't save these outside the table, but they need to be here for print to inherit them - see PrintButton.tsx\n        if ((props.defaultSettings as any)?.columnFilters) {\n            state.columnFilters = (props.defaultSettings as any)?.columnFilters;\n        }\n\n        if ((props.defaultSettings as any)?.globalFilter) {\n            state.globalFilter = (props.defaultSettings as any)?.globalFilter;\n        }\n\n        return state;\n    }, []);\n\n    const table = useReactTable<TType>({\n        data: props.data,\n        columns,\n        getCoreRowModel: getCoreRowModel(),\n        initialState,\n        ...tableOptions,\n        //debugAll: true,\n        meta: {\n            columnFreezing,\n            columnOrdering,\n            currentRow,\n            editing,\n            enableFooter: options.enableFooter,\n            fontSize,\n            hoverState,\n            isPrinting: props.id.endsWith('_print'),\n            isUsingServer: !!props.loadPage,\n            printing,\n            rowActions: rowActions as any,\n            rowClick: rowClick as any,\n            rowDrag,\n            rowDrop,\n            rowGoto,\n            rowHeight,\n            rowSelection,\n            search,\n        },\n    });\n\n    // listeners\n    useCurrentRowListener(table);\n    useEditingStateListener(table);\n    useFilteringStateListener(table, props.onFilter);\n    useRowSelectionListener(table, props.onRowSelect);\n    useSettingsStateListener(table, setSettings);\n    useShortcutsListener(table, props.shortcuts);\n    useServerLoadingListener(table, props.loadPage);\n    useSortingStateListener(table, props.onSort);\n\n    return { table, length: props.length ?? props.data.length };\n}\n"],"names":["useTable","props","options","useTablePreset","tableOptions","enableColumnFilters","enableFiltering","enableColumnResizing","enableExpanding","enableRowExpansion","enableGlobalFilter","enableSearch","enableHiding","enableColumnHiding","enableRowSelection","enableMultiRowSelection","enableRowSelectionSingle","enableSorting","columnResizeMode","onFilter","filterFns","tacoFilter","row","columnId","filter","columnFilterFn","getValue","getFilteredRowModel","globalFilterFn","searchQuery","original","cell","getAllCells","find","column","id","columnMeta","columnDef","meta","getIsVisible","cellValue","getCellValueAsString","dataType","undefined","getColumnCanGlobalFilter","_column$columnDef$met","onSort","manualSorting","getSortedRowModel","defaultSettings","setSettings","useSettings","onChangeSettings","columnFreezing","useColumnFreezing","_ref","_defaultSettings$colu","columnFreezingIndex","frozenColumnCount","defaultColumnFreezingIndex","columnOrdering","useColumnOrdering","currentRow","useCurrentRow","defaultCurrentRowIndex","editing","useEditing","enableEditing","onSave","fontSize","useFontSize","enableFontSize","hoverState","usePauseHoverState","printing","usePrinting","enablePrinting","loadAll","showWarningWhenPrintingLargeDataset","rowActions","useRowActions","actionsForRow","actionsForRowLength","rowClick","useRowClick","onRowClick","rowDrag","useRowDrag","enableRowDrag","rowDrop","useRowDrop","enableRowDrop","onRowDrop","rowGoto","useRowGoto","enableRowGoto","onRowGoto","rowHeight","useRowHeight","enableRowHeight","_defaultSettings$rowH","rowDensity","rowSelection","useRowSelection","search","useSearch","excludeUnmatchedRecordsInSearch","columns","defaultColumnSizing","defaultColumnVisibility","defaultSorting","useConvertChildrenToColumns","initialState","React","useMemo","sanitizeSortedColumns","definedColumn","state","columnOrder","ensureOrdering","columnSizing","_defaultSettings$colu2","columnVisibility","_defaultSettings$colu3","sorting","_props$defaultSetting","columnFilters","_props$defaultSetting2","_props$defaultSetting3","globalFilter","_props$defaultSetting4","table","useReactTable","data","getCoreRowModel","enableFooter","isPrinting","endsWith","isUsingServer","loadPage","useCurrentRowListener","useEditingStateListener","useFilteringStateListener","useRowSelectionListener","onRowSelect","useSettingsStateListener","useShortcutsListener","shortcuts","useServerLoadingListener","useSortingStateListener","length","_props$length"],"mappings":"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"}
         | 
| 1 | 
            +
            {"version":3,"file":"useTable.js","sources":["../../../../../../../../src/components/Table3/hooks/useTable.tsx"],"sourcesContent":["import React from 'react';\nimport {\n    getCoreRowModel,\n    useReactTable,\n    Row as RTRow,\n    RowData,\n    Column as RTColumn,\n    TableOptions as RTableOptions,\n    TableState,\n    getSortedRowModel,\n    getFilteredRowModel,\n    ColumnMeta,\n} from '@tanstack/react-table';\nimport {\n    Table3ColumnAlignment,\n    Table3ColumnRenderer,\n    Table3Props,\n    Table3ColumnHeaderMenu,\n    Table3ColumnControlRenderer,\n    Table3ColumnDataType,\n    Table3ColumnClassNameHandler,\n    Table3ColumnFooterRenderer,\n    TableStrategy,\n    Table3FilterComparator,\n    Table3Settings,\n} from '../types';\nimport { useCurrentRow } from './features/useCurrentRow';\nimport { usePauseHoverState } from './features/usePauseHoverState';\nimport { useTablePreset } from './useTablePreset';\nimport { useRowHeight } from './features/useRowHeight';\nimport { useFontSize } from './features/useFontSize';\nimport { useRowSelectionListener } from './listeners/useRowSelectionListener';\nimport { useRowDrag } from './features/useRowDrag';\nimport { useSettingsStateListener } from './listeners/useSettingsStateListener';\nimport { columnFilterFn, globalFilterFn } from '../util/filtering';\nimport { useSortingStateListener } from './listeners/useSortingStateListener';\nimport { useFilteringStateListener } from './listeners/useFilteringStateListener';\nimport { useCurrentRowListener } from './listeners/useCurrentRowListener';\nimport { useColumnFreezing } from './features/useColumnFreezing';\nimport { useRowSelection } from './features/useRowSelection';\nimport { useRowClick } from './features/useRowClick';\nimport { ensureOrdering, useColumnOrdering } from './features/useColumnOrdering';\nimport { useRowDrop } from './features/useRowDrop';\nimport { useConvertChildrenToColumns } from './useConvertChildrenToColumns';\nimport { useEditing } from './features/useEditing';\nimport { usePrinting } from './features/usePrinting';\nimport { useShortcutsListener } from './listeners/useShortcutsListener';\nimport { useRowGoto } from './features/useRowGoto';\nimport { useServerLoadingListener } from './listeners/useServerLoadingListener';\nimport { useEditingStateListener } from './listeners/useEditingStateListener';\nimport { useSearch } from './features/useSearch';\nimport { useRowActions } from './features/useRowActions';\nimport { useSettings } from './features/useSettings';\nimport { getCellValueAsString } from '../util/columns';\n\ndeclare module '@tanstack/table-core' {\n    interface TableMeta<TData extends RowData> {\n        columnFreezing: ReturnType<typeof useColumnFreezing>;\n        columnOrdering: ReturnType<typeof useColumnOrdering>;\n        currentRow: ReturnType<typeof useCurrentRow>;\n        editing: ReturnType<typeof useEditing>;\n        enableFooter: boolean;\n        fontSize: ReturnType<typeof useFontSize>;\n        getSettings: () => Table3Settings;\n        hoverState: ReturnType<typeof usePauseHoverState>;\n        isPrinting: boolean;\n        isUsingServer: boolean;\n        printing: ReturnType<typeof usePrinting>;\n        rowActions: ReturnType<typeof useRowActions>;\n        rowClick: ReturnType<typeof useRowClick>;\n        rowDrag: ReturnType<typeof useRowDrag>;\n        rowDrop: ReturnType<typeof useRowDrop>;\n        rowGoto: ReturnType<typeof useRowGoto>;\n        rowHeight: ReturnType<typeof useRowHeight>;\n        rowSelection: ReturnType<typeof useRowSelection>;\n        search: ReturnType<typeof useSearch>;\n    }\n\n    interface ColumnMeta<TData extends RowData, TValue> {\n        align?: Table3ColumnAlignment;\n        // @ts-expect-error -- we ignore it because it conflicts with Table2 also overridding ColumnMeta\n        className?: Table3ColumnClassNameHandler<TData>;\n        // @ts-expect-error -- we ignore it because it conflicts with Table2 also overridding ColumnMeta\n        control?: Table3ColumnControlRenderer<TData>;\n        // @ts-expect-error -- we ignore it because it conflicts with Table2 also overridding ColumnMeta\n        dataType?: Table3ColumnDataType;\n        // @ts-expect-error -- we ignore it because it conflicts with Table2 also overridding ColumnMeta\n        defaultWidth?: number;\n        enableOrdering: boolean;\n        enableSearch: boolean;\n        enableTruncate: boolean;\n        filters?: Table3FilterComparator[];\n        footer?: Table3ColumnFooterRenderer;\n        header: string;\n        headerClassName?: string;\n        menu?: Table3ColumnHeaderMenu;\n        renderer?: Table3ColumnRenderer<TValue, TData>;\n        tooltip?: string;\n    }\n\n    interface CellContext<TData extends RowData, TValue> {\n        index: number;\n        tableRef: React.RefObject<HTMLDivElement>;\n    }\n\n    interface HeaderContext<TData extends RowData, TValue> {\n        scrollToIndex: TableStrategy['scrollToIndex'];\n    }\n}\n\nexport function useTable<TType = unknown>(props: Table3Props<TType>) {\n    // options\n    const options = useTablePreset(props);\n\n    const tableOptions: Partial<RTableOptions<TType>> = {\n        enableColumnFilters: options.enableFiltering,\n        enableColumnResizing: options.enableColumnResizing,\n        enableExpanding: options.enableRowExpansion,\n        enableGlobalFilter: options.enableSearch,\n        enableHiding: options.enableColumnHiding,\n        enableRowSelection: options.enableRowSelection,\n        enableMultiRowSelection: !options.enableRowSelectionSingle,\n        enableSorting: options.enableSorting,\n    };\n\n    // resizing\n    if (tableOptions.enableColumnResizing) {\n        tableOptions.columnResizeMode = 'onChange';\n    }\n\n    // filtering\n    if (tableOptions.enableColumnFilters) {\n        if (!props.onFilter) {\n            tableOptions.filterFns = {\n                tacoFilter: (row: RTRow<TType>, columnId: string, filter: any) => columnFilterFn(row.getValue(columnId), filter),\n            };\n            tableOptions.getFilteredRowModel = getFilteredRowModel();\n        }\n\n        // we don't tableOptions.manualFiltering = true; because it breaks global filtering, server filtering still works :shrug:\n    }\n\n    // search\n    if (tableOptions.enableGlobalFilter) {\n        // search is always client side, since we call loadAll when searching\n        tableOptions.globalFilterFn = (row: RTRow<TType>, columnId: string, searchQuery: string) => {\n            try {\n                if (row.original) {\n                    const cell = row.getAllCells().find(cell => cell.column.id === columnId);\n                    const columnMeta = cell?.column.columnDef.meta;\n\n                    if (cell && cell.column.getIsVisible() && columnMeta?.enableSearch) {\n                        const cellValue = getCellValueAsString(row.original[columnId], columnMeta?.dataType);\n\n                        if (cellValue !== undefined) {\n                            return globalFilterFn(cellValue, searchQuery);\n                        }\n                    }\n                    return false;\n                }\n            } catch {\n                //\n            }\n\n            return false;\n        };\n        tableOptions.getFilteredRowModel = getFilteredRowModel();\n        tableOptions.getColumnCanGlobalFilter = (column: RTColumn<TType>) =>\n            (column.columnDef.meta as ColumnMeta<TType, unknown>).enableSearch ?? true;\n    }\n\n    // sorting\n    if (options.enableSorting) {\n        if (props.onSort) {\n            tableOptions.manualSorting = true;\n            // onSort is called as a listener to let the consumer update their data, so we don't use onSortingChange\n        } else {\n            tableOptions.getSortedRowModel = getSortedRowModel();\n        }\n    }\n\n    const [defaultSettings, setSettings] = useSettings(props.id, props.defaultSettings, props.onChangeSettings);\n\n    // custom features\n    const columnFreezing = useColumnFreezing(\n        // temporarily see if deprecated frozenColumnCount is there\n        defaultSettings.columnFreezingIndex ?? (defaultSettings as any)?.frozenColumnCount ?? props.defaultColumnFreezingIndex,\n        options\n    );\n    const columnOrdering = useColumnOrdering(options);\n    const currentRow = useCurrentRow(props.defaultCurrentRowIndex);\n    const editing = useEditing(options.enableEditing, props.onSave);\n    const fontSize = useFontSize(options.enableFontSize, defaultSettings.fontSize);\n    const hoverState = usePauseHoverState();\n    const printing = usePrinting(options.enablePrinting, props.loadAll, defaultSettings.showWarningWhenPrintingLargeDataset);\n    const rowActions = useRowActions<TType>(props.actionsForRow, props.actionsForRowLength);\n    const rowClick = useRowClick<TType>(props.onRowClick);\n    const rowDrag = useRowDrag(options.enableRowDrag);\n    const rowDrop = useRowDrop(options.enableRowDrop, props.onRowDrop);\n    const rowGoto = useRowGoto(options.enableRowGoto, props.onRowGoto);\n    const rowHeight = useRowHeight(\n        options.enableRowHeight,\n        // temporarily see if deprecated rowDensity is there\n        defaultSettings.rowHeight ?? (defaultSettings as any)?.rowDensity\n    );\n    const rowSelection = useRowSelection();\n    const search = useSearch(options.enableSearch, defaultSettings.excludeUnmatchedRecordsInSearch, props.loadAll);\n\n    // columns\n    const { columns, defaultColumnSizing, defaultColumnVisibility, defaultSorting } = useConvertChildrenToColumns<TType>(\n        props,\n        options,\n        editing\n    );\n\n    // built-in features\n    const initialState: Partial<TableState> = React.useMemo(() => {\n        const sanitizeSortedColumns = column => columns.find(definedColumn => definedColumn.id === column.id);\n\n        const state: Partial<TableState> = {\n            columnOrder: ensureOrdering<TType>(columns, defaultSettings.columnOrder),\n            columnSizing: defaultSettings.columnSizing ?? defaultColumnSizing,\n            columnVisibility: defaultSettings.columnVisibility ?? defaultColumnVisibility,\n            sorting: defaultSettings.sorting ? defaultSettings.sorting.filter(sanitizeSortedColumns) : defaultSorting,\n        };\n\n        // we don't save these outside the table, but they need to be here for print to inherit them - see PrintButton.tsx\n        if ((props.defaultSettings as any)?.columnFilters) {\n            state.columnFilters = (props.defaultSettings as any)?.columnFilters;\n        }\n\n        if ((props.defaultSettings as any)?.globalFilter) {\n            state.globalFilter = (props.defaultSettings as any)?.globalFilter;\n        }\n\n        return state;\n    }, []);\n\n    const getSettings = () => {\n        const state = table.getState();\n        return {\n            columnFreezingIndex: columnFreezing.frozenColumnIndex,\n            columnOrder: columnOrdering.isEnabled ? state.columnOrder : undefined,\n            columnSizing: table.options.enableColumnResizing ? state.columnSizing : undefined,\n            columnVisibility: table.options.enableHiding ? state.columnVisibility : undefined,\n            excludeUnmatchedRecordsInSearch: search.excludeUnmatchedResults,\n            fontSize: fontSize.isEnabled ? fontSize.size : undefined,\n            rowHeight: rowHeight.isEnabled ? rowHeight.height : undefined,\n            showWarningWhenPrintingLargeDataset: printing.printWarningDialogVisibility,\n            sorting: state.sorting,\n        };\n    };\n\n    const table = useReactTable<TType>({\n        data: props.data,\n        columns,\n        getCoreRowModel: getCoreRowModel(),\n        initialState,\n        ...tableOptions,\n        //debugAll: true,\n        meta: {\n            columnFreezing,\n            columnOrdering,\n            currentRow,\n            editing,\n            enableFooter: options.enableFooter,\n            fontSize,\n            getSettings,\n            hoverState,\n            isPrinting: props.id.endsWith('_print'),\n            isUsingServer: !!props.loadPage,\n            printing,\n            rowActions: rowActions as any,\n            rowClick: rowClick as any,\n            rowDrag,\n            rowDrop,\n            rowGoto,\n            rowHeight,\n            rowSelection,\n            search,\n        },\n    });\n\n    // listeners\n    useCurrentRowListener(table);\n    useEditingStateListener(table);\n    useFilteringStateListener(table, props.onFilter);\n    useRowSelectionListener(table, props.onRowSelect);\n    useSettingsStateListener(table, setSettings);\n    useShortcutsListener(table, props.shortcuts);\n    useServerLoadingListener(table, props.loadPage);\n    useSortingStateListener(table, props.onSort);\n\n    return { table, length: props.length ?? props.data.length };\n}\n"],"names":["useTable","props","options","useTablePreset","tableOptions","enableColumnFilters","enableFiltering","enableColumnResizing","enableExpanding","enableRowExpansion","enableGlobalFilter","enableSearch","enableHiding","enableColumnHiding","enableRowSelection","enableMultiRowSelection","enableRowSelectionSingle","enableSorting","columnResizeMode","onFilter","filterFns","tacoFilter","row","columnId","filter","columnFilterFn","getValue","getFilteredRowModel","globalFilterFn","searchQuery","original","cell","getAllCells","find","column","id","columnMeta","columnDef","meta","getIsVisible","cellValue","getCellValueAsString","dataType","undefined","getColumnCanGlobalFilter","_column$columnDef$met","onSort","manualSorting","getSortedRowModel","defaultSettings","setSettings","useSettings","onChangeSettings","columnFreezing","useColumnFreezing","_ref","_defaultSettings$colu","columnFreezingIndex","frozenColumnCount","defaultColumnFreezingIndex","columnOrdering","useColumnOrdering","currentRow","useCurrentRow","defaultCurrentRowIndex","editing","useEditing","enableEditing","onSave","fontSize","useFontSize","enableFontSize","hoverState","usePauseHoverState","printing","usePrinting","enablePrinting","loadAll","showWarningWhenPrintingLargeDataset","rowActions","useRowActions","actionsForRow","actionsForRowLength","rowClick","useRowClick","onRowClick","rowDrag","useRowDrag","enableRowDrag","rowDrop","useRowDrop","enableRowDrop","onRowDrop","rowGoto","useRowGoto","enableRowGoto","onRowGoto","rowHeight","useRowHeight","enableRowHeight","_defaultSettings$rowH","rowDensity","rowSelection","useRowSelection","search","useSearch","excludeUnmatchedRecordsInSearch","columns","defaultColumnSizing","defaultColumnVisibility","defaultSorting","useConvertChildrenToColumns","initialState","React","useMemo","sanitizeSortedColumns","definedColumn","state","columnOrder","ensureOrdering","columnSizing","_defaultSettings$colu2","columnVisibility","_defaultSettings$colu3","sorting","_props$defaultSetting","columnFilters","_props$defaultSetting2","_props$defaultSetting3","globalFilter","_props$defaultSetting4","getSettings","table","getState","frozenColumnIndex","isEnabled","excludeUnmatchedResults","size","height","printWarningDialogVisibility","useReactTable","data","getCoreRowModel","enableFooter","isPrinting","endsWith","isUsingServer","loadPage","useCurrentRowListener","useEditingStateListener","useFilteringStateListener","useRowSelectionListener","onRowSelect","useSettingsStateListener","useShortcutsListener","shortcuts","useServerLoadingListener","useSortingStateListener","length","_props$length"],"mappings":"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"}
         | 
| @@ -1 +1 @@ | |
| 1 | 
            -
            {"version":3,"file":"types.js","sources":["../../../../../../../src/components/Table3/types.ts"],"sourcesContent":["import {\n    ColumnFilter as RTColumnFilter,\n    ColumnOrderState,\n    ColumnSizingState,\n    ColumnSort as RTTableColumnSort,\n    SortingState,\n    VisibilityState,\n    BuiltInSortingFn,\n} from '@tanstack/react-table';\nimport { MenuProps } from '../Menu/Menu';\n\nexport type Table3SortDirection = 'asc' | 'desc';\nexport type Table3SortFn<TType = unknown> =\n    | ((rowA: TType, rowB: TType, columnId: string) => -1 | 0 | 1)\n    | BuiltInSortingFn\n    | 'auto';\n\n// columns\nexport type Table3ColumnRenderer<TValue = unknown, TType = unknown> = (\n    value: TValue,\n    row: TType\n) => JSX.Element | string | number | null;\nexport type Table3ColumnFooterRenderer<TValue = unknown> = (values: TValue[]) => JSX.Element | string | number | null;\nexport type Table3ColumnClassNameHandler<TType = unknown> = string | ((row: TType) => string | undefined);\nexport type Table3ColumnAlignment = 'left' | 'center' | 'right';\nexport type Table3ColumnDataType = 'auto' | 'number' | 'alphanumeric' | 'alphanumericCaseSensitive' | 'datetime' | 'boolean';\nexport type Table3ColumnHeaderMenu = (props: Partial<MenuProps>) => JSX.Element;\n\nexport type Table3ColumnControlProps = {\n    className?: string;\n    disabled?: boolean;\n    invalid?: boolean;\n    onBlur?: (value: any) => void;\n    onFocus?: React.FocusEventHandler;\n    readOnly?: boolean;\n    ref: React.RefObject<HTMLElement>;\n    setValue: (value: any) => void;\n    value: any;\n};\nexport type Table3ColumnControlRenderer<TType = unknown> =\n    | ((props: Table3ColumnControlProps, row?: TType) => JSX.Element)\n    | 'datepicker'\n    | 'input'\n    | 'switch'\n    | 'textarea';\n\ntype ValueOf<T> = T[keyof T];\n\nexport type Table3ColumnProps<TType = unknown> = ValueOf<{\n    [K in keyof TType]: {\n        accessor: K;\n    } & {\n        align?: Table3ColumnAlignment;\n        className?: Table3ColumnClassNameHandler<TType>;\n        control?: Table3ColumnControlRenderer<TType>;\n        dataType?: Table3ColumnDataType;\n        defaultHidden?: boolean;\n        defaultWidth?: number | 'grow';\n        enableFiltering?: boolean;\n        enableHiding?: boolean;\n        enableOrdering?: boolean;\n        enablePrinting?: boolean;\n        enableResizing?: boolean;\n        enableSearch?: boolean;\n        enableSorting?: boolean;\n        enableTruncate?: boolean;\n        filters?: Table3FilterComparator[];\n        footer?: Table3ColumnFooterRenderer;\n        header: string;\n        headerClassName?: string;\n        menu?: Table3ColumnHeaderMenu;\n        minWidth?: number;\n        renderer?: Table3ColumnRenderer<TType[K], TType>;\n        sort?: Table3SortDirection;\n        sortFn?: Table3SortFn<TType>;\n        tooltip?: string;\n    };\n}>;\n\n// rows\nexport type DeprecatedRowDensity = 'compact' | 'normal' | 'comfortable' | 'spacious';\nexport type Table3RowHeight = 'short' | 'medium' | 'tall' | 'extra-tall';\nexport type Table3FontSize = 'small' | 'medium' | 'large';\nexport type Table3RowClickHandler<TType = unknown> = (row: TType) => void;\nexport type Table3RowDragHandler<TType = unknown> = (\n    rows: TType[],\n    showPlaceholder: (string) => void,\n    setDataTransfer: (data: string) => void\n) => void;\nexport type Table3RowDropHandler<TType = any> = (event: React.DragEvent, row: TType) => void;\nexport type Table3RowExpansionRenderer<TType = unknown> = (row: TType) => (() => JSX.Element) | null;\nexport type Table3RowSelectionHandler<TType = unknown> = (rows: TType[]) => void;\nexport type Table3RowActionRenderer<TType = unknown> = (row: TType) => JSX.Element | null;\n\n// table\nexport type Table3Preset = 'display' | 'editable';\nexport type Table3Settings = {\n    columnFreezingIndex?: number;\n    columnOrder?: ColumnOrderState;\n    columnSizing?: ColumnSizingState;\n    columnVisibility?: VisibilityState;\n    excludeUnmatchedRecordsInSearch?: boolean;\n    fontSize?: Table3FontSize;\n    rowHeight?: Table3RowHeight;\n    showWarningWhenPrintingLargeDataset?: boolean;\n    sorting?: SortingState;\n};\nexport type Table3SettingsHandler = (settings: Table3Settings) => void | Promise<void>;\n\nexport enum Table3FilterComparator {\n    Contains,\n    DoesNotContain,\n    IsEqualTo,\n    IsNotEqualTo,\n    IsGreaterThan,\n    IsLessThan,\n    IsBetween,\n    IsEmpty,\n    IsNotEmpty,\n    IsLessThanOrEqualTo,\n    IsGreaterThanOrEqualTo,\n    HasAnyOf,\n    HasAllOf,\n    HasNoneOf,\n}\n\nexport type Table3FilterValue = {\n    comparator: Table3FilterComparator;\n    value: any;\n};\n\nexport type Table3Filter = { id: string; value: Table3FilterValue };\n\nexport type ColumnFilter = RTColumnFilter;\nexport type Table3FilterHandler = (filters: ColumnFilter[]) => void;\nexport type Table3LoadPageHandler = (\n    pageIndex: number,\n    sorting: Table3ColumnSort[],\n    filters: ColumnFilter[],\n    search: string | undefined\n) => Promise<void>;\nexport type Table3LoadAllHandler = (\n    sorting: Table3ColumnSort[],\n    filters: ColumnFilter[],\n    search: string | undefined\n) => Promise<void>;\nexport type Table3RowGotoHandler = (\n    column: string,\n    query: string,\n    sorting: Table3ColumnSort[],\n    filters: ColumnFilter[],\n    search: string | undefined\n) => Promise<number>;\nexport type Table3ColumnSort = RTTableColumnSort;\nexport type Table3SortHandler = (sorting: Table3ColumnSort[]) => void;\nexport type TableStrategy = {\n    renderBody: () => JSX.Element | JSX.Element[] | null;\n    scrollToIndex: (index: number, options?: { align: 'start' | 'center' | 'end' | 'auto' }) => void;\n};\nexport type Table3ShortcutHandlerFn<TType = unknown> = (row: TType) => void;\nexport type Table3ShortcutHandlerObject<TType = unknown> = {\n    handler: Table3ShortcutHandlerFn<TType>;\n    meta?: boolean;\n    shift?: boolean;\n};\nexport type Table3Shortcuts<TType = unknown> = Record<\n    string,\n    Table3ShortcutHandlerFn<TType> | Table3ShortcutHandlerObject<TType>\n>;\nexport type Table3SaveHandler<TType = unknown> = (data: TType) => Promise<void>;\n\nexport type Table3Options = {\n    enableColumnFreezing: boolean;\n    enableColumnHiding: boolean;\n    enableColumnOrdering: boolean;\n    enableColumnResizing: boolean;\n    enableFontSize: boolean;\n    enableFooter: boolean;\n    enablePrinting: boolean;\n    enableRowDrag: boolean;\n    enableRowDrop: boolean;\n    enableRowExpansion: boolean;\n    enableRowGoto: boolean;\n    enableRowHeight: boolean;\n    enableRowSelection: boolean;\n    enableRowSelectionSingle: boolean;\n    enableEditing: boolean;\n    enableFiltering: boolean;\n    enableSearch: boolean;\n    enableSorting: boolean;\n};\n\nexport type Table3CommonProps<TType = unknown> = Partial<Table3Options> & {\n    actionsForRow?: Table3RowActionRenderer<TType>[];\n    actionsForRowLength?: number;\n    autoFocus?: boolean;\n    children: (JSX.Element | boolean | null | undefined)[];\n    data: TType[];\n    defaultColumnFreezingIndex?: number;\n    defaultCurrentRowIndex?: number;\n    defaultSettings?: Table3Settings;\n    emptyState?: () => JSX.Element | null;\n    expandedRowRenderer?: Table3RowExpansionRenderer<TType>;\n    id: string;\n    onChangeSettings?: Table3SettingsHandler;\n    onRowClick?: Table3RowClickHandler<TType>;\n    onRowDrag?: Table3RowDragHandler<TType>;\n    onRowDrop?: Table3RowDropHandler<TType>;\n    onRowGoto?: Table3RowGotoHandler;\n    onRowSelect?: Table3RowSelectionHandler<TType>;\n    onFilter?: Table3FilterHandler;\n    onSave?: Table3SaveHandler<TType>;\n    onSort?: Table3SortHandler;\n    preset?: Table3Preset;\n    shortcuts?: Table3Shortcuts<TType>;\n    toolbarLeft?: JSX.Element;\n    toolbarRight?: JSX.Element;\n};\n\ninterface Table3ClientProps<TType = unknown> extends Table3CommonProps<TType> {\n    length?: never;\n    loadPage?: never;\n    loadAll?: never;\n    pageSize?: never;\n}\n\ninterface Table3ServerProps<TType = unknown> extends Table3CommonProps<TType> {\n    length: number | undefined;\n    loadPage: Table3LoadPageHandler;\n    loadAll: Table3LoadAllHandler;\n    pageSize?: number;\n}\n\nexport type Table3Props<TType = unknown> = Table3ClientProps<TType> | Table3ServerProps<TType>;\n\nexport type Table3Ref = HTMLDivElement & {\n    instance: {\n        resetFiltering: () => void;\n        resetRowExpansion: () => void;\n        resetRowSelection: () => void;\n        resetSorting: () => void;\n        toggleEditing: (enabled: boolean | undefined) => void;\n    };\n};\n\nexport type Table3Texts = {\n    columns: {\n        actions: {\n            tooltip: string;\n        };\n        drag: {\n            tooltip: string;\n        };\n        expansion: {\n            collapse: string;\n            collapseAll: string;\n            expand: string;\n            expandAll: string;\n        };\n        menu: {\n            freezeFirstColumn: string;\n            freezeUptoColumn: string;\n            gotoRow: string;\n            hideColumn: string;\n            unfreezeColumns: string;\n            sorting: string;\n            sortingOrder: {\n                ascending: string;\n                descending: string;\n                unsorted: string;\n            };\n        };\n        resize: {\n            tooltip: string;\n        };\n        select: {\n            deselect: string;\n            deselectAll: string;\n            select: string;\n            selectAll: string;\n        };\n    };\n    columnSettings: {\n        button: string;\n        noResults: string;\n        search: string;\n        tooltip: string;\n    };\n    editing: {\n        actions: {\n            tooltip: string;\n            save: string;\n            clear: string;\n            exit: string;\n        };\n        buttons: {\n            edit: {\n                text: string;\n                tooltip: string;\n            };\n        };\n        rowIndicator: {\n            rowWillMove: string;\n            rowWillBeHidden: string;\n            rowWillMoveReasonSearch: string;\n            rowWillMoveReasonFilter: string;\n            rowWillMoveReasonSorting: string;\n        };\n        saving: {\n            progress: string;\n            complete: string;\n        };\n    };\n    filters: {\n        button: string;\n        buttons: {\n            addFilter: string;\n            clearFilters: string;\n        };\n        comparators: {\n            contains: string;\n            doesNotContain: string;\n            isEqualTo: string;\n            isNotEqualTo: string;\n            isGreaterThan: string;\n            isLessThan: string;\n            isBetween: string;\n            isEmpty: string;\n            isNotEmpty: string;\n            isBefore: string;\n            isAfter: string;\n            isLessThanOrEqualTo: string;\n            isGreaterThanOrEqualTo: string;\n            isOnOrBefore: string;\n            isOnOrAfter: string;\n            hasAnyOf: string;\n            hasAllOf: string;\n            hasNoneOf: string;\n        };\n        conditions: {\n            and: string;\n            where: string;\n        };\n        emptyFilter: {\n            condition: string;\n            value: string;\n        };\n        tooltip: string;\n        total: string;\n    };\n    fontSize: {\n        tooltip: string;\n        sizes: {\n            small: string;\n            medium: string;\n            large: string;\n        };\n    };\n    footer: {\n        summary: {\n            count: string;\n            records: string;\n            selected: string;\n        };\n    };\n    print: {\n        error: string;\n        loading: string;\n        tooltip: string;\n        warningDialog: {\n            title: string;\n            description: string;\n            checkboxVisibilityLabel: string;\n            cancelButtonText: string;\n            printButtonText: string;\n        };\n    };\n    rowHeight: {\n        tooltip: string;\n        sizes: {\n            short: string;\n            medium: string;\n            tall: string;\n            extraTall: string;\n        };\n    };\n    search: {\n        excludeUnmatchedResults: string;\n        placeholder: string;\n    };\n    otherOptions: {\n        tooltip: string;\n    };\n};\n"],"names":["Table3FilterComparator"],"mappings":"IA6GYA;AAAZ,WAAYA,sBAAsB;EAC9BA,2EAAQ;EACRA,uFAAc;EACdA,6EAAS;EACTA,mFAAY;EACZA,qFAAa;EACbA,+EAAU;EACVA,6EAAS;EACTA,yEAAO;EACPA,+EAAU;EACVA,iGAAmB;EACnBA,wGAAsB;EACtBA,4EAAQ;EACRA,4EAAQ;EACRA,8EAAS;AACb,CAAC,EAfWA,sBAAsB,KAAtBA,sBAAsB;;;;"}
         | 
| 1 | 
            +
            {"version":3,"file":"types.js","sources":["../../../../../../../src/components/Table3/types.ts"],"sourcesContent":["import {\n    ColumnFilter as RTColumnFilter,\n    ColumnOrderState,\n    ColumnSizingState,\n    ColumnSort as RTTableColumnSort,\n    SortingState,\n    VisibilityState,\n    BuiltInSortingFn,\n} from '@tanstack/react-table';\nimport { MenuProps } from '../Menu/Menu';\nimport { MenuItemProps } from '../Menu/components/Item';\n\nexport type Table3SortDirection = 'asc' | 'desc';\nexport type Table3SortFn<TType = unknown> =\n    | ((rowA: TType, rowB: TType, columnId: string) => -1 | 0 | 1)\n    | BuiltInSortingFn\n    | 'auto';\n\n// columns\nexport type Table3ColumnRenderer<TValue = unknown, TType = unknown> = (\n    value: TValue,\n    row: TType\n) => JSX.Element | string | number | null;\nexport type Table3ColumnFooterRenderer<TValue = unknown> = (values: TValue[]) => JSX.Element | string | number | null;\nexport type Table3ColumnClassNameHandler<TType = unknown> = string | ((row: TType) => string | undefined);\nexport type Table3ColumnAlignment = 'left' | 'center' | 'right';\nexport type Table3ColumnDataType = 'auto' | 'number' | 'alphanumeric' | 'alphanumericCaseSensitive' | 'datetime' | 'boolean';\nexport type Table3ColumnHeaderMenu = (props: Partial<MenuProps>) => JSX.Element;\n\nexport type Table3ColumnControlProps = {\n    className?: string;\n    disabled?: boolean;\n    invalid?: boolean;\n    onBlur?: (value: any) => void;\n    onFocus?: React.FocusEventHandler;\n    readOnly?: boolean;\n    ref: React.RefObject<HTMLElement>;\n    setValue: (value: any) => void;\n    value: any;\n};\nexport type Table3ColumnControlRenderer<TType = unknown> =\n    | ((props: Table3ColumnControlProps, row?: TType) => JSX.Element)\n    | 'datepicker'\n    | 'input'\n    | 'switch'\n    | 'textarea';\n\ntype ValueOf<T> = T[keyof T];\n\nexport type Table3ColumnProps<TType = unknown> = ValueOf<{\n    [K in keyof TType]: {\n        accessor: K;\n    } & {\n        align?: Table3ColumnAlignment;\n        className?: Table3ColumnClassNameHandler<TType>;\n        control?: Table3ColumnControlRenderer<TType>;\n        dataType?: Table3ColumnDataType;\n        defaultHidden?: boolean;\n        defaultWidth?: number | 'grow';\n        enableFiltering?: boolean;\n        enableHiding?: boolean;\n        enableOrdering?: boolean;\n        enablePrinting?: boolean;\n        enableResizing?: boolean;\n        enableSearch?: boolean;\n        enableSorting?: boolean;\n        enableTruncate?: boolean;\n        filters?: Table3FilterComparator[];\n        footer?: Table3ColumnFooterRenderer;\n        header: string;\n        headerClassName?: string;\n        menu?: Table3ColumnHeaderMenu;\n        minWidth?: number;\n        renderer?: Table3ColumnRenderer<TType[K], TType>;\n        sort?: Table3SortDirection;\n        sortFn?: Table3SortFn<TType>;\n        tooltip?: string;\n    };\n}>;\n\n// rows\nexport type DeprecatedRowDensity = 'compact' | 'normal' | 'comfortable' | 'spacious';\nexport type Table3RowHeight = 'short' | 'medium' | 'tall' | 'extra-tall';\nexport type Table3FontSize = 'small' | 'medium' | 'large';\nexport type Table3RowClickHandler<TType = unknown> = (row: TType) => void;\nexport type Table3RowDragHandler<TType = unknown> = (\n    rows: TType[],\n    showPlaceholder: (string) => void,\n    setDataTransfer: (data: string) => void\n) => void;\nexport type Table3RowDropHandler<TType = any> = (event: React.DragEvent, row: TType) => void;\nexport type Table3RowExpansionRenderer<TType = unknown> = (row: TType) => (() => JSX.Element) | null;\nexport type Table3RowSelectionHandler<TType = unknown> = (rows: TType[]) => void;\nexport type Table3RowActionRenderer<TType = unknown> = (row: TType) => JSX.Element | null;\n\n// table\nexport type Table3Preset = 'display' | 'editable';\nexport type Table3Settings = {\n    columnFreezingIndex?: number;\n    columnOrder?: ColumnOrderState;\n    columnSizing?: ColumnSizingState;\n    columnVisibility?: VisibilityState;\n    excludeUnmatchedRecordsInSearch?: boolean;\n    fontSize?: Table3FontSize;\n    rowHeight?: Table3RowHeight;\n    showWarningWhenPrintingLargeDataset?: boolean;\n    sorting?: SortingState;\n};\nexport type Table3SettingsHandler = (settings: Table3Settings) => void | Promise<void>;\n\nexport enum Table3FilterComparator {\n    Contains,\n    DoesNotContain,\n    IsEqualTo,\n    IsNotEqualTo,\n    IsGreaterThan,\n    IsLessThan,\n    IsBetween,\n    IsEmpty,\n    IsNotEmpty,\n    IsLessThanOrEqualTo,\n    IsGreaterThanOrEqualTo,\n    HasAnyOf,\n    HasAllOf,\n    HasNoneOf,\n}\n\nexport type Table3FilterValue = {\n    comparator: Table3FilterComparator;\n    value: any;\n};\n\nexport type Table3Filter = { id: string; value: Table3FilterValue };\n\nexport type ColumnFilter = RTColumnFilter;\nexport type Table3FilterHandler = (filters: ColumnFilter[]) => void;\nexport type Table3LoadPageHandler = (\n    pageIndex: number,\n    sorting: Table3ColumnSort[],\n    filters: ColumnFilter[],\n    search: string | undefined\n) => Promise<void>;\nexport type Table3LoadAllHandler = (\n    sorting: Table3ColumnSort[],\n    filters: ColumnFilter[],\n    search: string | undefined\n) => Promise<void>;\nexport type Table3RowGotoHandler = (\n    column: string,\n    query: string,\n    sorting: Table3ColumnSort[],\n    filters: ColumnFilter[],\n    search: string | undefined\n) => Promise<number>;\nexport type Table3ColumnSort = RTTableColumnSort;\nexport type Table3SortHandler = (sorting: Table3ColumnSort[]) => void;\nexport type TableStrategy = {\n    renderBody: () => JSX.Element | JSX.Element[] | null;\n    scrollToIndex: (index: number, options?: { align: 'start' | 'center' | 'end' | 'auto' }) => void;\n};\nexport type Table3ShortcutHandlerFn<TType = unknown> = (row: TType) => void;\nexport type Table3ShortcutHandlerObject<TType = unknown> = {\n    handler: Table3ShortcutHandlerFn<TType>;\n    meta?: boolean;\n    shift?: boolean;\n};\nexport type Table3Shortcuts<TType = unknown> = Record<\n    string,\n    Table3ShortcutHandlerFn<TType> | Table3ShortcutHandlerObject<TType>\n>;\nexport type Table3SaveHandler<TType = unknown> = (data: TType) => Promise<void>;\n\nexport type Table3Options = {\n    enableColumnFreezing: boolean;\n    enableColumnHiding: boolean;\n    enableColumnOrdering: boolean;\n    enableColumnResizing: boolean;\n    enableFontSize: boolean;\n    enableFooter: boolean;\n    enablePrinting: boolean;\n    enableRowDrag: boolean;\n    enableRowDrop: boolean;\n    enableRowExpansion: boolean;\n    enableRowGoto: boolean;\n    enableRowHeight: boolean;\n    enableRowSelection: boolean;\n    enableRowSelectionSingle: boolean;\n    enableEditing: boolean;\n    enableFiltering: boolean;\n    enableSearch: boolean;\n    enableSorting: boolean;\n};\n\nexport type Table3CustomSettingRenderer = (props: Table3Settings) => React.ReactElement<MenuItemProps> | null;\n\nexport type Table3CommonProps<TType = unknown> = Partial<Table3Options> & {\n    actionsForRow?: Table3RowActionRenderer<TType>[];\n    actionsForRowLength?: number;\n    autoFocus?: boolean;\n    children: (JSX.Element | boolean | null | undefined)[];\n    customSettings?: Table3CustomSettingRenderer[];\n    data: TType[];\n    defaultColumnFreezingIndex?: number;\n    defaultCurrentRowIndex?: number;\n    defaultSettings?: Table3Settings;\n    emptyState?: () => JSX.Element | null;\n    expandedRowRenderer?: Table3RowExpansionRenderer<TType>;\n    id: string;\n    onChangeSettings?: Table3SettingsHandler;\n    onRowClick?: Table3RowClickHandler<TType>;\n    onRowDrag?: Table3RowDragHandler<TType>;\n    onRowDrop?: Table3RowDropHandler<TType>;\n    onRowGoto?: Table3RowGotoHandler;\n    onRowSelect?: Table3RowSelectionHandler<TType>;\n    onFilter?: Table3FilterHandler;\n    onSave?: Table3SaveHandler<TType>;\n    onSort?: Table3SortHandler;\n    preset?: Table3Preset;\n    shortcuts?: Table3Shortcuts<TType>;\n    toolbarLeft?: JSX.Element;\n    toolbarRight?: JSX.Element;\n};\n\ninterface Table3ClientProps<TType = unknown> extends Table3CommonProps<TType> {\n    length?: never;\n    loadPage?: never;\n    loadAll?: never;\n    pageSize?: never;\n}\n\ninterface Table3ServerProps<TType = unknown> extends Table3CommonProps<TType> {\n    length: number | undefined;\n    loadPage: Table3LoadPageHandler;\n    loadAll: Table3LoadAllHandler;\n    pageSize?: number;\n}\n\nexport type Table3Props<TType = unknown> = Table3ClientProps<TType> | Table3ServerProps<TType>;\n\nexport type Table3Ref = HTMLDivElement & {\n    instance: {\n        resetFiltering: () => void;\n        resetRowExpansion: () => void;\n        resetRowSelection: () => void;\n        resetSorting: () => void;\n        toggleEditing: (enabled: boolean | undefined) => void;\n    };\n};\n\nexport type Table3Texts = {\n    columns: {\n        actions: {\n            tooltip: string;\n        };\n        drag: {\n            tooltip: string;\n        };\n        expansion: {\n            collapse: string;\n            collapseAll: string;\n            expand: string;\n            expandAll: string;\n        };\n        menu: {\n            freezeFirstColumn: string;\n            freezeUptoColumn: string;\n            gotoRow: string;\n            hideColumn: string;\n            unfreezeColumns: string;\n            sorting: string;\n            sortingOrder: {\n                ascending: string;\n                descending: string;\n                unsorted: string;\n            };\n        };\n        resize: {\n            tooltip: string;\n        };\n        select: {\n            deselect: string;\n            deselectAll: string;\n            select: string;\n            selectAll: string;\n        };\n    };\n    columnSettings: {\n        button: string;\n        noResults: string;\n        search: string;\n        tooltip: string;\n    };\n    editing: {\n        actions: {\n            tooltip: string;\n            save: string;\n            clear: string;\n            exit: string;\n        };\n        buttons: {\n            edit: {\n                text: string;\n                tooltip: string;\n            };\n        };\n        rowIndicator: {\n            rowWillMove: string;\n            rowWillBeHidden: string;\n            rowWillMoveReasonSearch: string;\n            rowWillMoveReasonFilter: string;\n            rowWillMoveReasonSorting: string;\n        };\n        saving: {\n            progress: string;\n            complete: string;\n        };\n    };\n    filters: {\n        button: string;\n        buttons: {\n            addFilter: string;\n            clearFilters: string;\n        };\n        comparators: {\n            contains: string;\n            doesNotContain: string;\n            isEqualTo: string;\n            isNotEqualTo: string;\n            isGreaterThan: string;\n            isLessThan: string;\n            isBetween: string;\n            isEmpty: string;\n            isNotEmpty: string;\n            isBefore: string;\n            isAfter: string;\n            isLessThanOrEqualTo: string;\n            isGreaterThanOrEqualTo: string;\n            isOnOrBefore: string;\n            isOnOrAfter: string;\n            hasAnyOf: string;\n            hasAllOf: string;\n            hasNoneOf: string;\n        };\n        conditions: {\n            and: string;\n            where: string;\n        };\n        emptyFilter: {\n            condition: string;\n            value: string;\n        };\n        tooltip: string;\n        total: string;\n    };\n    fontSize: {\n        tooltip: string;\n        sizes: {\n            small: string;\n            medium: string;\n            large: string;\n        };\n    };\n    footer: {\n        summary: {\n            count: string;\n            records: string;\n            selected: string;\n        };\n    };\n    print: {\n        error: string;\n        loading: string;\n        tooltip: string;\n        warningDialog: {\n            title: string;\n            description: string;\n            checkboxVisibilityLabel: string;\n            cancelButtonText: string;\n            printButtonText: string;\n        };\n    };\n    rowHeight: {\n        tooltip: string;\n        sizes: {\n            short: string;\n            medium: string;\n            tall: string;\n            extraTall: string;\n        };\n    };\n    search: {\n        excludeUnmatchedResults: string;\n        placeholder: string;\n    };\n    otherOptions: {\n        tooltip: string;\n    };\n};\n"],"names":["Table3FilterComparator"],"mappings":"IA8GYA;AAAZ,WAAYA,sBAAsB;EAC9BA,2EAAQ;EACRA,uFAAc;EACdA,6EAAS;EACTA,mFAAY;EACZA,qFAAa;EACbA,+EAAU;EACVA,6EAAS;EACTA,yEAAO;EACPA,+EAAU;EACVA,iGAAmB;EACnBA,wGAAsB;EACtBA,4EAAQ;EACRA,4EAAQ;EACRA,8EAAS;AACb,CAAC,EAfWA,sBAAsB,KAAtBA,sBAAsB;;;;"}
         | 
| @@ -16722,7 +16722,13 @@ function useCurrentRow(defaultCurrentRowIndex) { | |
| 16722 16722 | 
             
              });
         | 
| 16723 16723 | 
             
              const moveUp = (length, callback) => move(-1, length, callback);
         | 
| 16724 16724 | 
             
              const moveDown = (length, callback) => move(1, length, callback);
         | 
| 16725 | 
            -
              const  | 
| 16725 | 
            +
              const focusFirstElementInCurrentRow = tableRef => {
         | 
| 16726 | 
            +
                setTimeout(() => {
         | 
| 16727 | 
            +
                  var _tableRef$current, _tableRef$current$que;
         | 
| 16728 | 
            +
                  (_tableRef$current = tableRef.current) === null || _tableRef$current === void 0 ? void 0 : (_tableRef$current$que = _tableRef$current.querySelector('[data-taco="table2-body"] [role="row"] [role="cell"]:first-child')) === null || _tableRef$current$que === void 0 ? void 0 : _tableRef$current$que.focus();
         | 
| 16729 | 
            +
                }, 1);
         | 
| 16730 | 
            +
              };
         | 
| 16731 | 
            +
              const onKeyDown = React__default.useCallback((event, length, scrollToIndex, isEditing, tableRef) => {
         | 
| 16726 16732 | 
             
                if (event.defaultPrevented) {
         | 
| 16727 16733 | 
             
                  return;
         | 
| 16728 16734 | 
             
                }
         | 
| @@ -16735,6 +16741,9 @@ function useCurrentRow(defaultCurrentRowIndex) { | |
| 16735 16741 | 
             
                  } else {
         | 
| 16736 16742 | 
             
                    moveUp(length, scrollToIndex);
         | 
| 16737 16743 | 
             
                  }
         | 
| 16744 | 
            +
                  if (!isEditing) {
         | 
| 16745 | 
            +
                    focusFirstElementInCurrentRow(tableRef);
         | 
| 16746 | 
            +
                  }
         | 
| 16738 16747 | 
             
                  return;
         | 
| 16739 16748 | 
             
                } else if (event.key === 'ArrowDown') {
         | 
| 16740 16749 | 
             
                  event.preventDefault();
         | 
| @@ -16745,6 +16754,9 @@ function useCurrentRow(defaultCurrentRowIndex) { | |
| 16745 16754 | 
             
                  } else {
         | 
| 16746 16755 | 
             
                    moveDown(length, scrollToIndex);
         | 
| 16747 16756 | 
             
                  }
         | 
| 16757 | 
            +
                  if (!isEditing) {
         | 
| 16758 | 
            +
                    focusFirstElementInCurrentRow(tableRef);
         | 
| 16759 | 
            +
                  }
         | 
| 16748 16760 | 
             
                  return;
         | 
| 16749 16761 | 
             
                }
         | 
| 16750 16762 | 
             
              }, []);
         | 
| @@ -16965,18 +16977,7 @@ function useSettingsStateListener$1(table, onChangeSettings) { | |
| 16965 16977 | 
             
                let handler;
         | 
| 16966 16978 | 
             
                if (typeof onChangeSettings === 'function') {
         | 
| 16967 16979 | 
             
                  handler = setTimeout(() => {
         | 
| 16968 | 
            -
                    onChangeSettings( | 
| 16969 | 
            -
                      // adding a new setting? you need to add it to the print settings in PrintButton.tsx!
         | 
| 16970 | 
            -
                      columnFreezingIndex: meta.columnFreezing.frozenColumnIndex,
         | 
| 16971 | 
            -
                      columnOrder: meta.columnOrdering.isEnabled ? state.columnOrder : undefined,
         | 
| 16972 | 
            -
                      columnSizing: table.options.enableColumnResizing ? state.columnSizing : undefined,
         | 
| 16973 | 
            -
                      columnVisibility: table.options.enableHiding ? state.columnVisibility : undefined,
         | 
| 16974 | 
            -
                      excludeUnmatchedRecordsInSearch: meta.search.excludeUnmatchedResults,
         | 
| 16975 | 
            -
                      fontSize: meta.fontSize.isEnabled ? meta.fontSize.size : undefined,
         | 
| 16976 | 
            -
                      rowHeight: meta.rowHeight.isEnabled ? meta.rowHeight.height : undefined,
         | 
| 16977 | 
            -
                      showWarningWhenPrintingLargeDataset: meta.printing.printWarningDialogVisibility,
         | 
| 16978 | 
            -
                      sorting: state.sorting
         | 
| 16979 | 
            -
                    });
         | 
| 16980 | 
            +
                    onChangeSettings(meta.getSettings());
         | 
| 16980 16981 | 
             
                  }, 250);
         | 
| 16981 16982 | 
             
                }
         | 
| 16982 16983 | 
             
                return () => clearTimeout(handler);
         | 
| @@ -18926,6 +18927,20 @@ function useTable$2(props) { | |
| 18926 18927 | 
             
                }
         | 
| 18927 18928 | 
             
                return state;
         | 
| 18928 18929 | 
             
              }, []);
         | 
| 18930 | 
            +
              const getSettings = () => {
         | 
| 18931 | 
            +
                const state = table.getState();
         | 
| 18932 | 
            +
                return {
         | 
| 18933 | 
            +
                  columnFreezingIndex: columnFreezing.frozenColumnIndex,
         | 
| 18934 | 
            +
                  columnOrder: columnOrdering.isEnabled ? state.columnOrder : undefined,
         | 
| 18935 | 
            +
                  columnSizing: table.options.enableColumnResizing ? state.columnSizing : undefined,
         | 
| 18936 | 
            +
                  columnVisibility: table.options.enableHiding ? state.columnVisibility : undefined,
         | 
| 18937 | 
            +
                  excludeUnmatchedRecordsInSearch: search.excludeUnmatchedResults,
         | 
| 18938 | 
            +
                  fontSize: fontSize.isEnabled ? fontSize.size : undefined,
         | 
| 18939 | 
            +
                  rowHeight: rowHeight.isEnabled ? rowHeight.height : undefined,
         | 
| 18940 | 
            +
                  showWarningWhenPrintingLargeDataset: printing.printWarningDialogVisibility,
         | 
| 18941 | 
            +
                  sorting: state.sorting
         | 
| 18942 | 
            +
                };
         | 
| 18943 | 
            +
              };
         | 
| 18929 18944 | 
             
              const table = reactTable$1.useReactTable({
         | 
| 18930 18945 | 
             
                data: props.data,
         | 
| 18931 18946 | 
             
                columns,
         | 
| @@ -18940,6 +18955,7 @@ function useTable$2(props) { | |
| 18940 18955 | 
             
                  editing,
         | 
| 18941 18956 | 
             
                  enableFooter: options.enableFooter,
         | 
| 18942 18957 | 
             
                  fontSize,
         | 
| 18958 | 
            +
                  getSettings,
         | 
| 18943 18959 | 
             
                  hoverState,
         | 
| 18944 18960 | 
             
                  isPrinting: props.id.endsWith('_print'),
         | 
| 18945 18961 | 
             
                  isUsingServer: !!props.loadPage,
         | 
| @@ -19206,19 +19222,10 @@ const MemoedRow = /*#__PURE__*/React__default.memo(function MemoedRow(props) { | |
| 19206 19222 | 
             
              const {
         | 
| 19207 19223 | 
             
                setIsHovered
         | 
| 19208 19224 | 
             
              } = useRowContext$1();
         | 
| 19209 | 
            -
              const isCurrentRow = Boolean(attributes['data-current']);
         | 
| 19210 | 
            -
              // we want tabbing to "start" again at the start of the row each time, only after pressing tab though
         | 
| 19211 | 
            -
              // so we focus the first cell so when tab is pressed it moves inside the row
         | 
| 19212 | 
            -
              React__default.useEffect(() => {
         | 
| 19213 | 
            -
                if (isCurrentRow) {
         | 
| 19214 | 
            -
                  var _ref$current, _ref$current$querySel;
         | 
| 19215 | 
            -
                  (_ref$current = ref.current) === null || _ref$current === void 0 ? void 0 : (_ref$current$querySel = _ref$current.querySelector('[role="cell"]:first-child')) === null || _ref$current$querySel === void 0 ? void 0 : _ref$current$querySel.focus();
         | 
| 19216 | 
            -
                }
         | 
| 19217 | 
            -
              }, [isCurrentRow]);
         | 
| 19218 19225 | 
             
              // we measure the first cell (since the row has display: contents) so that the virtualiser height is correct
         | 
| 19219 19226 | 
             
              React__default.useEffect(() => {
         | 
| 19220 | 
            -
                var _ref$ | 
| 19221 | 
            -
                const firstCell = (_ref$ | 
| 19227 | 
            +
                var _ref$current;
         | 
| 19228 | 
            +
                const firstCell = (_ref$current = ref.current) === null || _ref$current === void 0 ? void 0 : _ref$current.querySelector('[role=cell]:first-child');
         | 
| 19222 19229 | 
             
                if (firstCell) {
         | 
| 19223 19230 | 
             
                  measureRef(firstCell);
         | 
| 19224 19231 | 
             
                }
         | 
| @@ -19233,9 +19240,9 @@ const MemoedRow = /*#__PURE__*/React__default.memo(function MemoedRow(props) { | |
| 19233 19240 | 
             
              };
         | 
| 19234 19241 | 
             
              const handleClick = event => {
         | 
| 19235 19242 | 
             
                if (typeof onClick === 'function') {
         | 
| 19236 | 
            -
                  var _ref$ | 
| 19243 | 
            +
                  var _ref$current2;
         | 
| 19237 19244 | 
             
                  const clickedElement = event.target;
         | 
| 19238 | 
            -
                  if (!((_ref$ | 
| 19245 | 
            +
                  if (!((_ref$current2 = ref.current) !== null && _ref$current2 !== void 0 && _ref$current2.contains(event.target)) || clickableElements.includes(clickedElement.tagName.toLowerCase()) || clickedElement.closest(clickableElements.map(tag => `[role=row] ${tag}`).join(','))) {
         | 
| 19239 19246 | 
             
                    return;
         | 
| 19240 19247 | 
             
                  }
         | 
| 19241 19248 | 
             
                  onClick(row.original);
         | 
| @@ -20768,6 +20775,7 @@ function FontSize$1(props) { | |
| 20768 20775 |  | 
| 20769 20776 | 
             
            function SettingsButton(props) {
         | 
| 20770 20777 | 
             
              const {
         | 
| 20778 | 
            +
                customSettings,
         | 
| 20771 20779 | 
             
                table
         | 
| 20772 20780 | 
             
              } = props;
         | 
| 20773 20781 | 
             
              const {
         | 
| @@ -20810,7 +20818,10 @@ function SettingsButton(props) { | |
| 20810 20818 | 
             
                  subMenu: () => /*#__PURE__*/React__default.createElement(FontSize$1, {
         | 
| 20811 20819 | 
             
                    table: table
         | 
| 20812 20820 | 
             
                  })
         | 
| 20813 | 
            -
                }, texts.table3.fontSize.tooltip) : null) | 
| 20821 | 
            +
                }, texts.table3.fontSize.tooltip) : null, customSettings ? /*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement(Menu$1.Separator, null), customSettings.map(customSetting => {
         | 
| 20822 | 
            +
                  const props = tableMeta.getSettings();
         | 
| 20823 | 
            +
                  return customSetting(props);
         | 
| 20824 | 
            +
                })) : null)),
         | 
| 20814 20825 | 
             
                popover: popoverElement,
         | 
| 20815 20826 | 
             
                onClickCapture: event => event.preventDefault(),
         | 
| 20816 20827 | 
             
                tooltip: texts.table3.otherOptions.tooltip
         | 
| @@ -20819,6 +20830,7 @@ function SettingsButton(props) { | |
| 20819 20830 |  | 
| 20820 20831 | 
             
            function Toolbar(props) {
         | 
| 20821 20832 | 
             
              const {
         | 
| 20833 | 
            +
                customSettings,
         | 
| 20822 20834 | 
             
                left,
         | 
| 20823 20835 | 
             
                right,
         | 
| 20824 20836 | 
             
                scrollToIndex,
         | 
| @@ -20844,7 +20856,8 @@ function Toolbar(props) { | |
| 20844 20856 | 
             
                table: table,
         | 
| 20845 20857 | 
             
                tableProps: tableProps
         | 
| 20846 20858 | 
             
              }) : null, isSettingsVisible(props) ? /*#__PURE__*/React__default.createElement(SettingsButton, {
         | 
| 20847 | 
            -
                table: table
         | 
| 20859 | 
            +
                table: table,
         | 
| 20860 | 
            +
                customSettings: customSettings
         | 
| 20848 20861 | 
             
              }) : null, tableMeta.search.isEnabled ? /*#__PURE__*/React__default.createElement(Search$3, {
         | 
| 20849 20862 | 
             
                scrollToIndex: scrollToIndex,
         | 
| 20850 20863 | 
             
                table: table
         | 
| @@ -21124,6 +21137,7 @@ const fixedForwardRef = React__default.forwardRef; | |
| 21124 21137 | 
             
            const Table$1 = /*#__PURE__*/fixedForwardRef(function Table3(props, ref) {
         | 
| 21125 21138 | 
             
              const {
         | 
| 21126 21139 | 
             
                emptyState: EmptyState,
         | 
| 21140 | 
            +
                customSettings,
         | 
| 21127 21141 | 
             
                toolbarLeft,
         | 
| 21128 21142 | 
             
                toolbarRight
         | 
| 21129 21143 | 
             
              } = props;
         | 
| @@ -21157,7 +21171,7 @@ const Table$1 = /*#__PURE__*/fixedForwardRef(function Table3(props, ref) { | |
| 21157 21171 | 
             
                    return;
         | 
| 21158 21172 | 
             
                  }
         | 
| 21159 21173 | 
             
                  tableMeta.hoverState.handleKeyDown(event);
         | 
| 21160 | 
            -
                  tableMeta.currentRow.handleKeyDown(event, table.getRowModel().rows.length, scrollToIndex);
         | 
| 21174 | 
            +
                  tableMeta.currentRow.handleKeyDown(event, table.getRowModel().rows.length, scrollToIndex, tableMeta.editing.isEditing, internalRef);
         | 
| 21161 21175 | 
             
                  tableMeta.rowClick.handleKeyDown(event, table);
         | 
| 21162 21176 | 
             
                  tableMeta.rowSelection.handleKeyDown(event, table);
         | 
| 21163 21177 | 
             
                  tableMeta.editing.handleKeyDown(event);
         | 
| @@ -21170,7 +21184,7 @@ const Table$1 = /*#__PURE__*/fixedForwardRef(function Table3(props, ref) { | |
| 21170 21184 | 
             
              // See https://github.com/e-conomic/taco/blob/dev/packages/taco/src/components/Table3/strategies/virtualised.tsx#L143
         | 
| 21171 21185 | 
             
              // scrollToIndex function changes when row count changes, so it is important to update handlers with new
         | 
| 21172 21186 | 
             
              // scrollToIndex function.
         | 
| 21173 | 
            -
              [scrollToIndex, internalRef.current]);
         | 
| 21187 | 
            +
              [scrollToIndex, tableMeta.editing.isEditing, internalRef.current]);
         | 
| 21174 21188 | 
             
              const handleBlur = event => {
         | 
| 21175 21189 | 
             
                tableMeta.editing.handleBlur(event);
         | 
| 21176 21190 | 
             
              };
         | 
| @@ -21215,6 +21229,7 @@ const Table$1 = /*#__PURE__*/fixedForwardRef(function Table3(props, ref) { | |
| 21215 21229 | 
             
                total: length,
         | 
| 21216 21230 | 
             
                left: toolbarLeft,
         | 
| 21217 21231 | 
             
                right: toolbarRight,
         | 
| 21232 | 
            +
                customSettings: customSettings,
         | 
| 21218 21233 | 
             
                scrollToIndex: scrollToIndex
         | 
| 21219 21234 | 
             
              }), /*#__PURE__*/React__default.createElement("div", {
         | 
| 21220 21235 | 
             
                className: className,
         |