@economic/taco 2.43.0 → 2.44.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (58) hide show
  1. package/dist/components/Report/Report.d.ts +1 -1
  2. package/dist/components/Table3/features/useTableEditing.d.ts +8 -8
  3. package/dist/esm/index.css +44 -22
  4. package/dist/esm/packages/taco/src/components/Datepicker/Datepicker.js +7 -1
  5. package/dist/esm/packages/taco/src/components/Datepicker/Datepicker.js.map +1 -1
  6. package/dist/esm/packages/taco/src/components/Datepicker/useDatepicker.js +3 -2
  7. package/dist/esm/packages/taco/src/components/Datepicker/useDatepicker.js.map +1 -1
  8. package/dist/esm/packages/taco/src/components/Select2/Select2.js +1 -1
  9. package/dist/esm/packages/taco/src/components/Select2/Select2.js.map +1 -1
  10. package/dist/esm/packages/taco/src/components/Table3/Table3.js +2 -2
  11. package/dist/esm/packages/taco/src/components/Table3/Table3.js.map +1 -1
  12. package/dist/esm/packages/taco/src/components/Table3/components/Columns/Cell/EditingControlCell.js +6 -1
  13. package/dist/esm/packages/taco/src/components/Table3/components/Columns/Cell/EditingControlCell.js.map +1 -1
  14. package/dist/esm/packages/taco/src/components/Table3/components/Columns/Cell/util.js +4 -3
  15. package/dist/esm/packages/taco/src/components/Table3/components/Columns/Cell/util.js.map +1 -1
  16. package/dist/esm/packages/taco/src/components/Table3/components/Columns/Internal/EditingActionsMenu.js +17 -3
  17. package/dist/esm/packages/taco/src/components/Table3/components/Columns/Internal/EditingActionsMenu.js.map +1 -1
  18. package/dist/esm/packages/taco/src/components/Table3/components/Editing/Alert.js +1 -11
  19. package/dist/esm/packages/taco/src/components/Table3/components/Editing/Alert.js.map +1 -1
  20. package/dist/esm/packages/taco/src/components/Table3/components/Row/Editing/CreateRowButton.js +1 -1
  21. package/dist/esm/packages/taco/src/components/Table3/components/Row/Editing/CreateRowButton.js.map +1 -1
  22. package/dist/esm/packages/taco/src/components/Table3/components/Row/Editing/SaveStatus.js +7 -5
  23. package/dist/esm/packages/taco/src/components/Table3/components/Row/Editing/SaveStatus.js.map +1 -1
  24. package/dist/esm/packages/taco/src/components/Table3/features/useTableEditing.js +36 -47
  25. package/dist/esm/packages/taco/src/components/Table3/features/useTableEditing.js.map +1 -1
  26. package/dist/esm/packages/taco/src/components/Table3/listeners/useTableEditingListener.js +9 -0
  27. package/dist/esm/packages/taco/src/components/Table3/listeners/useTableEditingListener.js.map +1 -1
  28. package/dist/esm/packages/taco/src/components/Tooltip/Tooltip.js +1 -1
  29. package/dist/esm/packages/taco/src/components/Tooltip/Tooltip.js.map +1 -1
  30. package/dist/esm/packages/taco/src/primitives/Table/Core/Table.js +3 -1
  31. package/dist/esm/packages/taco/src/primitives/Table/Core/Table.js.map +1 -1
  32. package/dist/esm/packages/taco/src/primitives/Table/Core/components/Columns/Cell/BuiltIns/GroupedCell.js +0 -3
  33. package/dist/esm/packages/taco/src/primitives/Table/Core/components/Columns/Cell/BuiltIns/GroupedCell.js.map +1 -1
  34. package/dist/esm/packages/taco/src/primitives/Table/Core/components/Columns/Internal/Actions.js +1 -8
  35. package/dist/esm/packages/taco/src/primitives/Table/Core/components/Columns/Internal/Actions.js.map +1 -1
  36. package/dist/esm/packages/taco/src/primitives/Table/Core/components/Columns/Internal/Selection.js +85 -109
  37. package/dist/esm/packages/taco/src/primitives/Table/Core/components/Columns/Internal/Selection.js.map +1 -1
  38. package/dist/esm/packages/taco/src/primitives/Table/types.js.map +1 -1
  39. package/dist/esm/packages/taco/src/primitives/Table/useTableManager/listeners/useTableRowSelectionListener.js +4 -9
  40. package/dist/esm/packages/taco/src/primitives/Table/useTableManager/listeners/useTableRowSelectionListener.js.map +1 -1
  41. package/dist/esm/packages/taco/src/primitives/Table/useTableManager/listeners/useTableSearchListener.js +12 -1
  42. package/dist/esm/packages/taco/src/primitives/Table/useTableManager/listeners/useTableSearchListener.js.map +1 -1
  43. package/dist/esm/packages/taco/src/primitives/Table/useTableManager/util/presets.js +1 -7
  44. package/dist/esm/packages/taco/src/primitives/Table/useTableManager/util/presets.js.map +1 -1
  45. package/dist/esm/packages/taco/src/primitives/Table/useTableManager/util/search.js +17 -10
  46. package/dist/esm/packages/taco/src/primitives/Table/useTableManager/util/search.js.map +1 -1
  47. package/dist/esm/packages/taco/src/primitives/Table/useTableManager/util/setup.js +4 -6
  48. package/dist/esm/packages/taco/src/primitives/Table/useTableManager/util/setup.js.map +1 -1
  49. package/dist/index.css +44 -22
  50. package/dist/primitives/Table/Core/components/Columns/Internal/Actions.d.ts +1 -2
  51. package/dist/primitives/Table/types.d.ts +0 -1
  52. package/dist/primitives/Table/useTableManager/util/columns.d.ts +1 -1
  53. package/dist/primitives/Table/useTableManager/util/search.d.ts +2 -2
  54. package/dist/taco.cjs.development.js +219 -228
  55. package/dist/taco.cjs.development.js.map +1 -1
  56. package/dist/taco.cjs.production.min.js +1 -1
  57. package/dist/taco.cjs.production.min.js.map +1 -1
  58. package/package.json +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"presets.js","sources":["../../../../../../../../../src/primitives/Table/useTableManager/util/presets.ts"],"sourcesContent":["import { TableFeatureProps, TablePreset, TableProps } from '../../types';\n\nconst DEFAULT_PRESET: TableFeatureProps = {\n // react-table built-in\n enableFiltering: false,\n enableSearch: false,\n enableSorting: false,\n enableColumnFreezing: false,\n enableColumnHiding: false,\n enableColumnResizing: false,\n enableRowExpansion: false,\n enableRowSelection: false,\n enableRowSelectionSingle: false,\n\n // custom -- common between all table types\n enableColumnOrdering: false,\n enableFontSize: false,\n enableFooter: false,\n enablePrinting: false,\n enableRowActive: true,\n enableRowActions: true,\n enableRowClick: false,\n enableRowDrag: false,\n enableRowDrop: false,\n enableRowGoto: false,\n enableRowHeight: false,\n enableSaveSettings: false,\n};\n\nconst presets: Record<TablePreset, TableFeatureProps> = {\n // View/edit/create on page\n complex: {\n // react-table built-in\n enableFiltering: true,\n enableSearch: true,\n enableSorting: true,\n enableColumnFreezing: true,\n enableColumnHiding: true,\n enableColumnResizing: true,\n enableRowExpansion: true,\n enableRowSelection: true,\n enableRowSelectionSingle: false,\n\n // custom -- common between all table types\n enableColumnOrdering: true,\n enableFontSize: true,\n enableFooter: true,\n enablePrinting: true,\n enableRowActive: true,\n enableRowActions: true,\n enableRowClick: true,\n enableRowDrag: true,\n enableRowDrop: true,\n enableRowGoto: true,\n enableRowHeight: true,\n enableSaveSettings: true,\n },\n // View/create in dialog\n list: {\n // react-table built-in\n enableFiltering: false,\n enableSearch: true,\n enableSorting: true,\n enableColumnFreezing: false,\n enableColumnHiding: false,\n enableColumnResizing: false,\n enableRowExpansion: true,\n enableRowSelection: true,\n enableRowSelectionSingle: false,\n\n // custom -- common between all table types\n enableColumnOrdering: false,\n enableFontSize: false,\n enableFooter: false,\n enablePrinting: false,\n enableRowActive: true,\n enableRowActions: true,\n enableRowClick: true,\n enableRowDrag: false,\n enableRowDrop: false,\n enableRowGoto: false,\n enableRowHeight: false,\n enableSaveSettings: true,\n },\n // View in card or dialog\n simple: {\n // react-table built-in\n enableFiltering: false,\n enableSearch: false,\n enableSorting: true,\n enableColumnFreezing: false,\n enableColumnHiding: false,\n enableColumnResizing: false,\n enableRowExpansion: true,\n enableRowSelection: false,\n enableRowSelectionSingle: false,\n\n // custom -- common between all table types\n enableColumnOrdering: false,\n enableFontSize: false,\n enableFooter: false,\n enablePrinting: false,\n enableRowActive: true,\n enableRowActions: false,\n enableRowClick: true,\n enableRowDrag: false,\n enableRowDrop: false,\n enableRowGoto: false,\n enableRowHeight: false,\n enableSaveSettings: true,\n },\n};\n\nexport function getTableFeaturePreset<TType = unknown>(props: TableProps<TType>): TableFeatureProps<TType> {\n const presetOptions = props.preset ? presets[props.preset] : DEFAULT_PRESET;\n\n const enableRowActions = props.enableRowActions ?? presetOptions.enableRowActions;\n const enableRowClick = props.enableRowClick ?? presetOptions.enableRowClick;\n const enableRowDrag = props.enableRowDrag ?? presetOptions.enableRowDrag;\n const enableRowDrop = props.enableRowDrop ?? presetOptions.enableRowDrop;\n const enableRowGoto = props.enableRowGoto ?? presetOptions.enableRowGoto;\n const enableRowExpansion = props.enableRowExpansion ?? presetOptions.enableRowExpansion;\n const enableRowSelection = props.enableRowSelection ?? presetOptions.enableRowSelection;\n const enableRowSelectionSingle = props.enableRowSelectionSingle ?? presetOptions.enableRowSelectionSingle;\n\n return {\n // react-table built-in\n enableFiltering: props.enableFiltering ?? presetOptions.enableFiltering,\n enableSearch: props.enableSearch ?? presetOptions.enableSearch,\n enableSorting: props.enableSorting ?? presetOptions.enableSorting,\n enableColumnFreezing: props.enableColumnFreezing ?? presetOptions.enableColumnFreezing,\n enableColumnHiding: props.enableColumnHiding ?? presetOptions.enableColumnHiding,\n enableColumnResizing: props.enableColumnResizing ?? presetOptions.enableColumnResizing,\n enableRowExpansion: enableRowExpansion && !!props.rowExpansionRenderer,\n enableRowSelection: !!props.onRowSelect && enableRowSelection,\n enableRowSelectionSingle: !!props.onRowSelect && enableRowSelectionSingle,\n\n // custom -- common between all table types\n enableColumnOrdering: props.enableColumnOrdering ?? presetOptions.enableColumnOrdering,\n enableFontSize: props.enableFontSize ?? presetOptions.enableFontSize,\n enableFooter: props.enableFooter ?? presetOptions.enableFooter,\n enablePrinting: props.enablePrinting ?? presetOptions.enablePrinting,\n enableRowActive: props.enableRowActive ?? presetOptions.enableRowActive,\n enableRowActions: enableRowActions && !!props.rowActions?.length,\n // enableRowClick can be either function or boolean, that is why we need to pass exactly enableRowClick,\n // and not just result of the condition\n enableRowClick: enableRowClick && !!props.onRowClick ? enableRowClick : false,\n enableRowDrag: enableRowDrag && !!props.onRowDrag,\n enableRowDrop: enableRowDrop && !!props.onRowDrop,\n enableRowGoto: enableRowGoto && !!props.onRowGoto,\n enableRowHeight: props.enableRowHeight ?? presetOptions.enableRowHeight,\n enableSaveSettings: props.enableSaveSettings ?? presetOptions.enableSaveSettings,\n };\n}\n"],"names":["DEFAULT_PRESET","enableFiltering","enableSearch","enableSorting","enableColumnFreezing","enableColumnHiding","enableColumnResizing","enableRowExpansion","enableRowSelection","enableRowSelectionSingle","enableColumnOrdering","enableFontSize","enableFooter","enablePrinting","enableRowActive","enableRowActions","enableRowClick","enableRowDrag","enableRowDrop","enableRowGoto","enableRowHeight","enableSaveSettings","presets","complex","list","simple","getTableFeaturePreset","props","presetOptions","preset","_props$enableRowActio","_props$enableRowClick","_props$enableRowDrag","_props$enableRowDrop","_props$enableRowGoto","_props$enableRowExpan","_props$enableRowSelec","_props$enableRowSelec2","_props$enableFilterin","_props$enableSearch","_props$enableSorting","_props$enableColumnFr","_props$enableColumnHi","_props$enableColumnRe","rowExpansionRenderer","onRowSelect","_props$enableColumnOr","_props$enableFontSize","_props$enableFooter","_props$enablePrinting","_props$enableRowActiv","_props$rowActions","rowActions","length","onRowClick","onRowDrag","onRowDrop","onRowGoto","_props$enableRowHeigh","_props$enableSaveSett"],"mappings":"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"}
1
+ {"version":3,"file":"presets.js","sources":["../../../../../../../../../src/primitives/Table/useTableManager/util/presets.ts"],"sourcesContent":["import { TableFeatureProps, TablePreset, TableProps } from '../../types';\n\nconst DEFAULT_PRESET: TableFeatureProps = {\n // react-table built-in\n enableFiltering: false,\n enableSearch: false,\n enableSorting: false,\n enableColumnFreezing: false,\n enableColumnHiding: false,\n enableColumnResizing: false,\n enableRowExpansion: false,\n enableRowSelection: false,\n\n // custom -- common between all table types\n enableColumnOrdering: false,\n enableFontSize: false,\n enableFooter: false,\n enablePrinting: false,\n enableRowActive: true,\n enableRowActions: true,\n enableRowClick: false,\n enableRowDrag: false,\n enableRowDrop: false,\n enableRowGoto: false,\n enableRowHeight: false,\n enableSaveSettings: false,\n};\n\nconst presets: Record<TablePreset, TableFeatureProps> = {\n // View/edit/create on page\n complex: {\n // react-table built-in\n enableFiltering: true,\n enableSearch: true,\n enableSorting: true,\n enableColumnFreezing: true,\n enableColumnHiding: true,\n enableColumnResizing: true,\n enableRowExpansion: true,\n enableRowSelection: true,\n\n // custom -- common between all table types\n enableColumnOrdering: true,\n enableFontSize: true,\n enableFooter: true,\n enablePrinting: true,\n enableRowActive: true,\n enableRowActions: true,\n enableRowClick: true,\n enableRowDrag: true,\n enableRowDrop: true,\n enableRowGoto: true,\n enableRowHeight: true,\n enableSaveSettings: true,\n },\n // View/create in dialog\n list: {\n // react-table built-in\n enableFiltering: false,\n enableSearch: true,\n enableSorting: true,\n enableColumnFreezing: false,\n enableColumnHiding: false,\n enableColumnResizing: false,\n enableRowExpansion: true,\n enableRowSelection: true,\n\n // custom -- common between all table types\n enableColumnOrdering: false,\n enableFontSize: false,\n enableFooter: false,\n enablePrinting: false,\n enableRowActive: true,\n enableRowActions: true,\n enableRowClick: true,\n enableRowDrag: false,\n enableRowDrop: false,\n enableRowGoto: false,\n enableRowHeight: false,\n enableSaveSettings: true,\n },\n // View in card or dialog\n simple: {\n // react-table built-in\n enableFiltering: false,\n enableSearch: false,\n enableSorting: true,\n enableColumnFreezing: false,\n enableColumnHiding: false,\n enableColumnResizing: false,\n enableRowExpansion: true,\n enableRowSelection: false,\n\n // custom -- common between all table types\n enableColumnOrdering: false,\n enableFontSize: false,\n enableFooter: false,\n enablePrinting: false,\n enableRowActive: true,\n enableRowActions: false,\n enableRowClick: true,\n enableRowDrag: false,\n enableRowDrop: false,\n enableRowGoto: false,\n enableRowHeight: false,\n enableSaveSettings: true,\n },\n};\n\nexport function getTableFeaturePreset<TType = unknown>(props: TableProps<TType>): TableFeatureProps<TType> {\n const presetOptions = props.preset ? presets[props.preset] : DEFAULT_PRESET;\n\n const enableRowActions = props.enableRowActions ?? presetOptions.enableRowActions;\n const enableRowClick = props.enableRowClick ?? presetOptions.enableRowClick;\n const enableRowDrag = props.enableRowDrag ?? presetOptions.enableRowDrag;\n const enableRowDrop = props.enableRowDrop ?? presetOptions.enableRowDrop;\n const enableRowGoto = props.enableRowGoto ?? presetOptions.enableRowGoto;\n const enableRowExpansion = props.enableRowExpansion ?? presetOptions.enableRowExpansion;\n const enableRowSelection = props.enableRowSelection ?? presetOptions.enableRowSelection;\n\n return {\n // react-table built-in\n enableFiltering: props.enableFiltering ?? presetOptions.enableFiltering,\n enableSearch: props.enableSearch ?? presetOptions.enableSearch,\n enableSorting: props.enableSorting ?? presetOptions.enableSorting,\n enableColumnFreezing: props.enableColumnFreezing ?? presetOptions.enableColumnFreezing,\n enableColumnHiding: props.enableColumnHiding ?? presetOptions.enableColumnHiding,\n enableColumnResizing: props.enableColumnResizing ?? presetOptions.enableColumnResizing,\n enableRowExpansion: enableRowExpansion && !!props.rowExpansionRenderer,\n enableRowSelection: !!props.onRowSelect && enableRowSelection,\n\n // custom -- common between all table types\n enableColumnOrdering: props.enableColumnOrdering ?? presetOptions.enableColumnOrdering,\n enableFontSize: props.enableFontSize ?? presetOptions.enableFontSize,\n enableFooter: props.enableFooter ?? presetOptions.enableFooter,\n enablePrinting: props.enablePrinting ?? presetOptions.enablePrinting,\n enableRowActive: props.enableRowActive ?? presetOptions.enableRowActive,\n enableRowActions: enableRowActions && !!props.rowActions?.length,\n // enableRowClick can be either function or boolean, that is why we need to pass exactly enableRowClick,\n // and not just result of the condition\n enableRowClick: enableRowClick && !!props.onRowClick ? enableRowClick : false,\n enableRowDrag: enableRowDrag && !!props.onRowDrag,\n enableRowDrop: enableRowDrop && !!props.onRowDrop,\n enableRowGoto: enableRowGoto && !!props.onRowGoto,\n enableRowHeight: props.enableRowHeight ?? presetOptions.enableRowHeight,\n enableSaveSettings: props.enableSaveSettings ?? presetOptions.enableSaveSettings,\n };\n}\n"],"names":["DEFAULT_PRESET","enableFiltering","enableSearch","enableSorting","enableColumnFreezing","enableColumnHiding","enableColumnResizing","enableRowExpansion","enableRowSelection","enableColumnOrdering","enableFontSize","enableFooter","enablePrinting","enableRowActive","enableRowActions","enableRowClick","enableRowDrag","enableRowDrop","enableRowGoto","enableRowHeight","enableSaveSettings","presets","complex","list","simple","getTableFeaturePreset","props","presetOptions","preset","_props$enableRowActio","_props$enableRowClick","_props$enableRowDrag","_props$enableRowDrop","_props$enableRowGoto","_props$enableRowExpan","_props$enableRowSelec","_props$enableFilterin","_props$enableSearch","_props$enableSorting","_props$enableColumnFr","_props$enableColumnHi","_props$enableColumnRe","rowExpansionRenderer","onRowSelect","_props$enableColumnOr","_props$enableFontSize","_props$enableFooter","_props$enablePrinting","_props$enableRowActiv","_props$rowActions","rowActions","length","onRowClick","onRowDrag","onRowDrop","onRowGoto","_props$enableRowHeigh","_props$enableSaveSett"],"mappings":"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"}
@@ -2,18 +2,25 @@ import get from 'lodash-es/get';
2
2
  import { getDataTypeProperties } from './dataTypes.js';
3
3
  import { isWeakContains } from './filtering.js';
4
4
 
5
+ const flattenCellValue = cellValue => {
6
+ return typeof cellValue === 'object' ? Object.values(cellValue).map(flattenCellValue) : cellValue;
7
+ };
5
8
  function isMatched(searchQuery, cellValue, dataType, localization) {
6
- const cellValueAsString = String(cellValue !== null && cellValue !== void 0 ? cellValue : '');
7
- if (cellValueAsString !== undefined && isWeakContains(cellValueAsString, searchQuery)) {
8
- return true;
9
+ if (typeof cellValue === 'object') {
10
+ return flattenCellValue(cellValue).flat(Infinity).find(y => isWeakContains(y, searchQuery));
9
11
  } else {
10
- const dataTypeProperties = getDataTypeProperties(dataType);
11
- if (dataTypeProperties.getDisplayValue) {
12
- const cellDisplayValue = dataTypeProperties.getDisplayValue(cellValue, {
13
- localization
14
- });
15
- if (cellDisplayValue !== undefined && isWeakContains(cellDisplayValue, searchQuery)) {
16
- return true;
12
+ const cellValueAsString = String(cellValue !== null && cellValue !== void 0 ? cellValue : '');
13
+ if (cellValueAsString !== undefined && isWeakContains(cellValueAsString, searchQuery)) {
14
+ return true;
15
+ } else {
16
+ const dataTypeProperties = getDataTypeProperties(dataType);
17
+ if (dataTypeProperties.getDisplayValue) {
18
+ const cellDisplayValue = dataTypeProperties.getDisplayValue(cellValue, {
19
+ localization
20
+ });
21
+ if (cellDisplayValue !== undefined && isWeakContains(cellDisplayValue, searchQuery)) {
22
+ return true;
23
+ }
17
24
  }
18
25
  }
19
26
  }
@@ -1 +1 @@
1
- {"version":3,"file":"search.js","sources":["../../../../../../../../../src/primitives/Table/useTableManager/util/search.ts"],"sourcesContent":["import { Table as ReactTable, TableMeta as ReactTableMeta, Row as ReactTableRow } from '@tanstack/react-table';\nimport get from 'lodash/get';\nimport { isWeakContains } from './filtering';\nimport { getDataTypeProperties } from './dataTypes';\nimport { TableColumnDataType } from '../../types';\nimport { Localization } from '../../../../components/Provider/Localization';\n\nexport function isMatched<TType = unknown>(\n searchQuery: string,\n cellValue: any,\n dataType: TableColumnDataType | undefined,\n localization: Localization\n) {\n const cellValueAsString = String(cellValue ?? '');\n\n if (cellValueAsString !== undefined && isWeakContains(cellValueAsString, searchQuery)) {\n return true;\n } else {\n const dataTypeProperties = getDataTypeProperties<TType>(dataType);\n\n if (dataTypeProperties.getDisplayValue) {\n const cellDisplayValue = dataTypeProperties.getDisplayValue(cellValue, { localization });\n\n if (cellDisplayValue !== undefined && isWeakContains(cellDisplayValue, searchQuery)) {\n return true;\n }\n }\n }\n\n return false;\n}\n\nexport function globalFilterFn<TType = unknown>(\n row: ReactTableRow<TType>,\n columnId: string,\n searchQuery: string,\n localization: Localization\n) {\n try {\n if (row.original) {\n const cellValue = row.original[columnId];\n const dataType = row._getAllCellsByColumnId()[columnId]?.column.columnDef.meta?.dataType;\n return isMatched(searchQuery, cellValue, dataType, localization);\n }\n } catch {\n // we don't care, just fail silently and return no results\n }\n\n return false;\n}\n\nexport function resetHighlightedColumnIndexes<TType = unknown>(\n searchQuery: string | undefined,\n table: ReactTable<TType>,\n localization: Localization\n) {\n const tableMeta = table.options.meta as ReactTableMeta<TType>;\n let firstRowIndex: undefined | number;\n\n if (searchQuery) {\n const indexes: number[][] = [];\n const columns = table.getVisibleLeafColumns();\n const rowGrouping = table.getState().grouping;\n\n table.getRowModel().rows.forEach((row, rowIndex) => {\n columns.forEach((column, columnIndex) => {\n try {\n let allowSearch = true;\n\n if (rowGrouping?.length) {\n // if it's the grouped row, only allow search of the grouped column - because that's all that's visible\n if (row.getIsGrouped()) {\n allowSearch = column.getIsGrouped();\n }\n // otherwise for other rows, don't search the grouped column - because it isn't visible\n else if (rowGrouping.includes(column.id)) {\n allowSearch = false;\n }\n }\n\n if (column.getIsVisible() && column.columnDef.enableGlobalFilter && allowSearch) {\n const cellValue = get(row.original, column.id);\n const dataType = column.columnDef.meta?.dataType;\n\n if (isMatched(searchQuery, cellValue, dataType, localization)) {\n indexes.push([rowIndex, columnIndex]);\n }\n }\n } catch (e) {\n //\n }\n });\n });\n\n tableMeta.search.setHighlightedColumnIndexes(indexes);\n\n if (indexes.length) {\n firstRowIndex = indexes[0][0];\n tableMeta.search.setCurrentHighlightColumnIndex(0);\n } else {\n tableMeta.search.setCurrentHighlightColumnIndex(undefined);\n }\n } else {\n tableMeta.search.setHighlightedColumnIndexes([]);\n tableMeta.search.setCurrentHighlightColumnIndex(undefined);\n }\n\n if (firstRowIndex !== undefined) {\n tableMeta.rowActive.setRowActiveIndex(firstRowIndex);\n }\n\n return firstRowIndex;\n}\n"],"names":["isMatched","searchQuery","cellValue","dataType","localization","cellValueAsString","String","undefined","isWeakContains","dataTypeProperties","getDataTypeProperties","getDisplayValue","cellDisplayValue","globalFilterFn","row","columnId","original","_row$_getAllCellsByCo","_row$_getAllCellsByCo2","_getAllCellsByColumnId","column","columnDef","meta","resetHighlightedColumnIndexes","table","tableMeta","options","firstRowIndex","indexes","columns","getVisibleLeafColumns","rowGrouping","getState","grouping","getRowModel","rows","forEach","rowIndex","columnIndex","allowSearch","length","getIsGrouped","includes","id","getIsVisible","enableGlobalFilter","_column$columnDef$met","get","push","e","search","setHighlightedColumnIndexes","setCurrentHighlightColumnIndex","rowActive","setRowActiveIndex"],"mappings":"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"}
1
+ {"version":3,"file":"search.js","sources":["../../../../../../../../../src/primitives/Table/useTableManager/util/search.ts"],"sourcesContent":["import { Table as ReactTable, TableMeta as ReactTableMeta, Row as ReactTableRow } from '@tanstack/react-table';\nimport get from 'lodash/get';\nimport { isWeakContains } from './filtering';\nimport { getDataTypeProperties } from './dataTypes';\nimport { TableColumnDataType } from '../../types';\nimport { Localization } from '../../../../components/Provider/Localization';\n\nconst flattenCellValue = (cellValue: object | string) => {\n return typeof cellValue === 'object' ? Object.values(cellValue).map(flattenCellValue) : cellValue;\n};\n\nexport function isMatched<TType = unknown>(\n searchQuery: string,\n cellValue: any,\n dataType: TableColumnDataType | undefined,\n localization: Localization\n) {\n if (typeof cellValue === 'object') {\n return flattenCellValue(cellValue)\n .flat(Infinity)\n .find(y => isWeakContains(y, searchQuery));\n } else {\n const cellValueAsString = String(cellValue ?? '');\n\n if (cellValueAsString !== undefined && isWeakContains(cellValueAsString, searchQuery)) {\n return true;\n } else {\n const dataTypeProperties = getDataTypeProperties<TType>(dataType);\n\n if (dataTypeProperties.getDisplayValue) {\n const cellDisplayValue = dataTypeProperties.getDisplayValue(cellValue, { localization });\n\n if (cellDisplayValue !== undefined && isWeakContains(cellDisplayValue, searchQuery)) {\n return true;\n }\n }\n }\n }\n\n return false;\n}\n\nexport function globalFilterFn<TType = unknown>(\n row: ReactTableRow<TType>,\n columnId: string,\n searchQuery: string,\n localization: Localization\n) {\n try {\n if (row.original) {\n const cellValue = row.original[columnId];\n const dataType = row._getAllCellsByColumnId()[columnId]?.column.columnDef.meta?.dataType;\n return isMatched(searchQuery, cellValue, dataType, localization);\n }\n } catch {\n // we don't care, just fail silently and return no results\n }\n\n return false;\n}\n\nexport function resetHighlightedColumnIndexes<TType = unknown>(\n searchQuery: string | undefined,\n table: ReactTable<TType>,\n localization: Localization\n) {\n const tableMeta = table.options.meta as ReactTableMeta<TType>;\n let firstRowIndex: undefined | number;\n\n if (searchQuery) {\n const indexes: number[][] = [];\n const columns = table.getVisibleLeafColumns();\n const rowGrouping = table.getState().grouping;\n\n table.getRowModel().rows.forEach((row, rowIndex) => {\n columns.forEach((column, columnIndex) => {\n try {\n let allowSearch = true;\n\n if (rowGrouping?.length) {\n // if it's the grouped row, only allow search of the grouped column - because that's all that's visible\n if (row.getIsGrouped()) {\n allowSearch = column.getIsGrouped();\n }\n // otherwise for other rows, don't search the grouped column - because it isn't visible\n else if (rowGrouping.includes(column.id)) {\n allowSearch = false;\n }\n }\n\n if (column.getIsVisible() && column.columnDef.enableGlobalFilter && allowSearch) {\n const cellValue = get(row.original, column.id);\n const dataType = column.columnDef.meta?.dataType;\n\n if (isMatched(searchQuery, cellValue, dataType, localization)) {\n indexes.push([rowIndex, columnIndex]);\n }\n }\n } catch (e) {\n //\n }\n });\n });\n\n tableMeta.search.setHighlightedColumnIndexes(indexes);\n\n if (indexes.length) {\n firstRowIndex = indexes[0][0];\n tableMeta.search.setCurrentHighlightColumnIndex(0);\n } else {\n tableMeta.search.setCurrentHighlightColumnIndex(undefined);\n }\n } else {\n tableMeta.search.setHighlightedColumnIndexes([]);\n tableMeta.search.setCurrentHighlightColumnIndex(undefined);\n }\n\n if (firstRowIndex !== undefined) {\n tableMeta.rowActive.setRowActiveIndex(firstRowIndex);\n }\n\n return firstRowIndex;\n}\n"],"names":["flattenCellValue","cellValue","Object","values","map","isMatched","searchQuery","dataType","localization","flat","Infinity","find","y","isWeakContains","cellValueAsString","String","undefined","dataTypeProperties","getDataTypeProperties","getDisplayValue","cellDisplayValue","globalFilterFn","row","columnId","original","_row$_getAllCellsByCo","_row$_getAllCellsByCo2","_getAllCellsByColumnId","column","columnDef","meta","resetHighlightedColumnIndexes","table","tableMeta","options","firstRowIndex","indexes","columns","getVisibleLeafColumns","rowGrouping","getState","grouping","getRowModel","rows","forEach","rowIndex","columnIndex","allowSearch","length","getIsGrouped","includes","id","getIsVisible","enableGlobalFilter","_column$columnDef$met","get","push","e","search","setHighlightedColumnIndexes","setCurrentHighlightColumnIndex","rowActive","setRowActiveIndex"],"mappings":"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"}
@@ -177,7 +177,7 @@ function mapTableChildrenToColumns(props, settings, options, internalColumns, lo
177
177
  const column = createInternalColumn('__expansion', internalColumns.rowExpansion, defaultSizing);
178
178
  columns.unshift(column);
179
179
  }
180
- if ((options.enableRowSelection || options.enableRowSelectionSingle) && internalColumns.rowSelection) {
180
+ if (options.enableRowSelection && internalColumns.rowSelection) {
181
181
  const column = createInternalColumn('__select', internalColumns.rowSelection, defaultSizing);
182
182
  columns.unshift(column);
183
183
  }
@@ -199,10 +199,9 @@ function mapTableChildrenToColumns(props, settings, options, internalColumns, lo
199
199
  }
200
200
  function configureReactTableOptions(options, props, localization) {
201
201
  var _options$enableFilter, _options$enableColumn, _options$enableRowExp, _options$enableColumn2, _options$enableColumn3, _options$enableSortin;
202
- const enableRowSelection = options.enableRowSelection || options.enableRowSelectionSingle;
203
202
  // We don't want to expose internal Tanstack Table row, so we need to wrap enableRowSelection callback into additional function,
204
203
  // which receives the React Table Row object and passes row.original to a callback.
205
- const reactTableEnableRowSelection = typeof enableRowSelection === 'function' ? row => enableRowSelection(row.original) : enableRowSelection;
204
+ const reactTableEnableRowSelection = typeof options.enableRowSelection === 'function' ? row => options.enableRowSelection(row.original) : options.enableRowSelection;
206
205
  const tableOptions = {
207
206
  defaultColumn: {
208
207
  enableColumnFilter: options.enableFiltering || true,
@@ -222,7 +221,6 @@ function configureReactTableOptions(options, props, localization) {
222
221
  enableHiding: (_options$enableColumn2 = options.enableColumnHiding) !== null && _options$enableColumn2 !== void 0 ? _options$enableColumn2 : false,
223
222
  enablePinning: (_options$enableColumn3 = options.enableColumnFreezing) !== null && _options$enableColumn3 !== void 0 ? _options$enableColumn3 : false,
224
223
  enableRowSelection: reactTableEnableRowSelection !== null && reactTableEnableRowSelection !== void 0 ? reactTableEnableRowSelection : false,
225
- enableMultiRowSelection: !options.enableRowSelectionSingle && reactTableEnableRowSelection,
226
224
  enableSorting: (_options$enableSortin = options.enableSorting) !== null && _options$enableSortin !== void 0 ? _options$enableSortin : false,
227
225
  // models for default features
228
226
  getExpandedRowModel: getExpandedRowModel(),
@@ -246,8 +244,8 @@ function configureReactTableOptions(options, props, localization) {
246
244
  tableOptions.getFilteredRowModel = getFilteredRowModel();
247
245
  tableOptions.globalFilterFn = (row, columnId, searchQuery) => globalFilterFn(row, columnId, searchQuery, localization);
248
246
  tableOptions.getColumnCanGlobalFilter = column => {
249
- var _column$columnDef$met, _column$columnDef$met2;
250
- return (_column$columnDef$met = (_column$columnDef$met2 = column.columnDef.meta) === null || _column$columnDef$met2 === void 0 ? void 0 : _column$columnDef$met2.enableSearch) !== null && _column$columnDef$met !== void 0 ? _column$columnDef$met : true;
247
+ var _column$columnDef$met;
248
+ return ((_column$columnDef$met = column.columnDef.meta) === null || _column$columnDef$met === void 0 ? void 0 : _column$columnDef$met.enableSearch) !== false && column.getIsVisible();
251
249
  };
252
250
  }
253
251
  if (tableOptions.enableSorting) {
@@ -1 +1 @@
1
- {"version":3,"file":"setup.js","sources":["../../../../../../../../../src/primitives/Table/useTableManager/util/setup.ts"],"sourcesContent":["import React from 'react';\nimport {\n createColumnHelper,\n getExpandedRowModel,\n getFilteredRowModel,\n getGroupedRowModel,\n getSortedRowModel,\n TableOptions as ReactTableOptions,\n Row as ReactTableRow,\n Column as ReactTableColumn,\n ColumnDef as ReactTableColumnDef,\n ColumnPinningState as ReactTableColumnPinningState,\n ColumnSizingState as ReactTableColumnSizingState,\n ColumnSort as ReactTableColumnSort,\n TableState as ReactTableState,\n VisibilityState as ReactTableVisibilityState,\n} from '@tanstack/react-table';\nimport get from 'lodash/get';\nimport { useTableManagerInternalColumns, useTableManagerInternalColumn } from '../types';\nimport { TableColumnProps, TableFeatureProps, TableGroupProps, TableProps, TableSettings } from '../../types';\nimport { getSortingFn } from './sorting';\nimport { ensureOrdering, freezeUptoExternalColumn, getCellMinWidth, unfreezeAllExternalColumns } from './columns';\nimport { columnFilterFn } from './filtering';\nimport { globalFilterFn } from './search';\nimport { ignoreInternalColumns } from './settings';\nimport { getDataTypeProperties } from './dataTypes';\nimport { Localization } from '../../../../components/Provider/Localization';\n\n// mapping children to react-table columns\nfunction processChildren<TType>(\n child: React.ReactChild | React.ReactFragment | React.ReactPortal,\n columns: ReactTableColumnDef<TType>[],\n defaultSizing: ReactTableColumnSizingState,\n defaultSorting: ReactTableColumnSort[],\n defaultVisibility: ReactTableVisibilityState,\n settings: TableSettings,\n defaultRowGroupColumnId: keyof TType | undefined,\n localization: Localization\n): ReactTableColumnDef<TType>[] {\n const columnHelper = createColumnHelper<TType>();\n\n if (React.isValidElement<TableGroupProps>(child) && child.props.children) {\n const { children, id, header } = child.props;\n\n columns.push(\n columnHelper.group({\n id,\n header,\n columns: React.Children.toArray(children).reduce(\n (columns: ReactTableColumnDef<TType>[], child) =>\n processChildren<TType>(\n child,\n columns,\n defaultSizing,\n defaultSorting,\n defaultVisibility,\n settings,\n defaultRowGroupColumnId,\n localization\n ),\n []\n ),\n // we don't want to let column groups be grouped/aggregrated\n enableGrouping: false,\n })\n );\n } else if (React.isValidElement<TableColumnProps<TType>>(child) && (child.props.accessor || child.props.id)) {\n const {\n id: untypedId,\n accessor: accessorKey = untypedId,\n // renderers\n renderer,\n aggregate,\n footer,\n header,\n // options\n aggregationFn,\n defaultHidden,\n defaultWidth,\n enableEditing = !!child.props.control,\n enableFiltering: enableColumnFilter = true,\n enableGrouping = false,\n enableHiding = true,\n enableOrdering = true,\n enablePrinting = true,\n enableResizing = true,\n enableSearch: enableGlobalFilter = true,\n enableSorting = true,\n enableTruncate = false,\n minWidth: minSize = getCellMinWidth(settings.fontSize),\n sort,\n sortFn,\n ...meta\n } = child.props;\n const id = untypedId as string;\n const dataTypeProperties = getDataTypeProperties<TType>(child.props.dataType);\n\n if (defaultHidden && enableHiding) {\n defaultVisibility[id] = false;\n }\n\n if (defaultWidth) {\n defaultSizing[id] = defaultWidth as any;\n }\n\n const isGrouped = defaultRowGroupColumnId === id;\n\n if (child.props.sort !== undefined || isGrouped) {\n defaultSorting.push({\n id,\n desc: sort === 'desc',\n });\n }\n\n const column: ReactTableColumnDef<TType, any> = {\n id,\n accessorKey,\n // To avoid errors caused by undefined row data values, we pass accessorFn as a preventive measure\n // accessorKey can be dot notated strings, so we use lodash.get to access deeply nested children\n accessorFn: row => get(row, accessorKey),\n header: header,\n // features\n enableColumnFilter,\n enableGlobalFilter,\n enableGrouping,\n enableHiding: isGrouped ? false : enableHiding,\n enableResizing,\n enableSorting,\n // config - sizing\n minSize,\n // meta\n meta: {\n ...(meta as any),\n align: meta.align ?? dataTypeProperties.align,\n defaultWidth,\n enableOrdering: isGrouped ? false : enableOrdering,\n enablePrinting,\n enableTruncate,\n enableEditing,\n header,\n renderer,\n },\n };\n\n // renderers - use defined renderers first, then fall back to data type renderers (if there is one)\n if (typeof renderer === 'function') {\n column.cell = info => renderer(info.getValue(), info.row.original);\n } else if (dataTypeProperties.getDisplayValue) {\n const dataTypeRenderer = (value: any) => dataTypeProperties.getDisplayValue?.(value, { localization }) ?? value;\n column.cell = info => dataTypeRenderer(info.getValue());\n (column.meta as any).renderer = dataTypeRenderer;\n }\n\n if (typeof footer === 'function') {\n column.footer = info =>\n footer(info.table.getRowModel().rows.flatMap(row => (row.original !== undefined ? row.original : [])));\n }\n\n // config - filtering\n if (enableColumnFilter) {\n column.filterFn = 'tacoFilter' as any;\n }\n\n // config - grouping/aggregation\n if (enableGrouping) {\n column.aggregationFn = aggregationFn;\n\n if (typeof aggregate === 'function') {\n column.aggregatedCell = info => aggregate(info.getValue(), info.row.original);\n }\n }\n\n // config - sorting\n if (enableSorting) {\n column.sortingFn = getSortingFn<TType>(child.props.dataType, sortFn);\n column.sortDescFirst = false;\n column.sortUndefined = 1;\n }\n\n columns.push(column);\n }\n\n return columns;\n}\n\nfunction createInternalColumn<TType = unknown>(\n id: string,\n column: useTableManagerInternalColumn<TType>,\n defaultSizing: ReactTableColumnSizingState\n) {\n if (column.size) {\n defaultSizing[id] = column.size;\n }\n\n return {\n id,\n accessorKey: id,\n header: column.header,\n cell: column.renderer,\n // features\n enableColumnFilter: false,\n enableGlobalFilter: false,\n enableGrouping: false,\n enableHiding: false,\n enableResizing: false,\n enableSorting: false,\n // config - sizing\n size: column.size,\n minSize: column.size,\n // meta\n meta: {\n ...(column.meta as any),\n enableOrdering: false,\n enablePrinting: false,\n enableTruncate: false,\n },\n } as ReactTableColumnDef<TType, any>;\n}\n\nexport function mapTableChildrenToColumns<TType = unknown>(\n props: TableProps<TType>,\n settings: TableSettings,\n options: TableFeatureProps<TType>,\n internalColumns: useTableManagerInternalColumns<TType> | undefined,\n localization: Localization\n) {\n const { children, defaultRowGroupColumnId } = props;\n const defaultSizing: ReactTableColumnSizingState = {};\n const defaultSorting: ReactTableColumnSort[] = [];\n const defaultVisibility: ReactTableVisibilityState = {};\n\n const columns = React.Children.toArray(children).reduce(\n (columns: ReactTableColumnDef<TType>[], child) =>\n processChildren<TType>(\n child,\n columns,\n defaultSizing,\n defaultSorting,\n defaultVisibility,\n settings,\n defaultRowGroupColumnId,\n localization\n ),\n\n []\n );\n\n if (internalColumns) {\n if (options.enableRowExpansion && props.rowExpansionRenderer && internalColumns.rowExpansion) {\n const column = createInternalColumn<TType>('__expansion', internalColumns.rowExpansion, defaultSizing);\n columns.unshift(column);\n }\n\n if ((options.enableRowSelection || options.enableRowSelectionSingle) && internalColumns.rowSelection) {\n const column = createInternalColumn<TType>('__select', internalColumns.rowSelection, defaultSizing);\n columns.unshift(column);\n }\n\n if (options.enableRowDrag && props.onRowDrag && internalColumns.rowDrag) {\n const column = createInternalColumn<TType>('__drag', internalColumns.rowDrag, defaultSizing);\n columns.unshift(column);\n }\n\n if (options.enableRowActions && props.rowActions?.length && internalColumns.rowActions) {\n const column = createInternalColumn<TType>('__actions', internalColumns.rowActions, defaultSizing);\n columns.push(column);\n }\n }\n\n return { columns, defaultSizing, defaultSorting, defaultVisibility };\n}\n\nexport function configureReactTableOptions<TType = unknown>(\n options: TableFeatureProps<TType>,\n props: TableProps<TType>,\n localization: Localization\n) {\n const enableRowSelection = options.enableRowSelection || options.enableRowSelectionSingle;\n // We don't want to expose internal Tanstack Table row, so we need to wrap enableRowSelection callback into additional function,\n // which receives the React Table Row object and passes row.original to a callback.\n const reactTableEnableRowSelection =\n typeof enableRowSelection === 'function'\n ? (row: ReactTableRow<TType>) => (enableRowSelection as (row: TType) => boolean)(row.original)\n : enableRowSelection;\n\n const tableOptions: Partial<ReactTableOptions<TType>> = {\n defaultColumn: {\n enableColumnFilter: options.enableFiltering || true,\n enableGrouping: false,\n enableHiding: options.enableColumnHiding || true,\n enableResizing: options.enableColumnResizing || true,\n enableGlobalFilter: options.enableSearch || true,\n enableSorting: options.enableSorting || true,\n minSize: 1,\n // the default is 150, which is a bit random\n size: 1,\n },\n enableColumnFilters: options.enableFiltering ?? false,\n enableColumnResizing: options.enableColumnResizing ?? false,\n enableExpanding: options.enableRowExpansion ?? false,\n enableGrouping: true, // users can't customise row grouping, so it can just be always enabled and left to the defaultRowGroupColumnId prop\n enableHiding: options.enableColumnHiding ?? false,\n enablePinning: options.enableColumnFreezing ?? false,\n enableRowSelection: reactTableEnableRowSelection ?? false,\n enableMultiRowSelection: !options.enableRowSelectionSingle && reactTableEnableRowSelection,\n enableSorting: options.enableSorting ?? false,\n // models for default features\n getExpandedRowModel: getExpandedRowModel<TType>(),\n getGroupedRowModel: getGroupedRowModel<TType>(),\n groupedColumnMode: false,\n };\n\n if (tableOptions.enableColumnResizing) {\n tableOptions.columnResizeMode = 'onChange';\n }\n\n if (tableOptions.enableColumnFilters) {\n // enter controlled filter mode (controlled could be local state, but usually the server)\n if (props.onChangeFilter) {\n // tableOptions.manualFiltering = true;\n // we don't set it because it breaks global filtering (used for search, which is fully client side)\n //\n // tableOptions.onColumnFiltersChange = ...\n // we don't set this because it expects state to be maintained externally, and we don't want\n // consumers to control state outside the table. instead we have a listener that calls onFilter\n } else {\n tableOptions.getFilteredRowModel = getFilteredRowModel<TType>();\n tableOptions.filterFns = {\n tacoFilter: (row: ReactTableRow<TType>, columnId: string, filter: any) =>\n columnFilterFn(row.getValue(columnId), filter),\n };\n }\n }\n\n if (options.enableSearch) {\n // always set these because enableGlobalFilter can be toggled on and off by the user\n tableOptions.getFilteredRowModel = getFilteredRowModel<TType>();\n tableOptions.globalFilterFn = (row: ReactTableRow<TType>, columnId: string, searchQuery: any) =>\n globalFilterFn(row, columnId, searchQuery, localization);\n tableOptions.getColumnCanGlobalFilter = (column: ReactTableColumn<TType>) => column.columnDef.meta?.enableSearch ?? true;\n\n // enter controlled search mode (controlled could be local state, but usually the server)\n if (props.onChangeSearch) {\n // tableOptions.manualFiltering = true;\n // we don't set this because controlled search is not currently supported, search is always client side\n //\n // tableOptions.onGlobalFilterChange = ...\n // we don't set this because it expects state to be maintained externally, and we don't want\n // consumers to control state outside the table. instead we have a listener that calls onSearch.\n //\n // we also don't always filter when searching, we have the highlight functionality as the default\n // and filtering can be toggled by the user\n }\n }\n\n if (tableOptions.enableSorting) {\n // enter controlled sort mode (controlled could be local state, but usually the server)\n if (props.onChangeSort) {\n tableOptions.manualSorting = true;\n\n // tableOptions.onSortingChange = ...\n // we don't set this because it expects state to be maintained externally, and we don't want\n // consumers to control state outside the table. instead we have a listener that calls onSort\n } else {\n tableOptions.getSortedRowModel = getSortedRowModel();\n }\n }\n\n return tableOptions;\n}\n\nexport function useReactTableInitialState<TType = unknown>(\n props: TableProps<TType>,\n columns: ReactTableColumnDef<TType>[],\n persistedSettings: TableSettings,\n defaults: {\n defaultSizing: ReactTableColumnSizingState;\n defaultSorting: ReactTableColumnSort[];\n defaultVisibility: ReactTableVisibilityState;\n }\n): Partial<ReactTableState> {\n return React.useMemo(() => {\n const ignoreNotDefinedColumns = column => columns.find(definedColumn => definedColumn.id === column.id);\n\n const columnPinning: ReactTableColumnPinningState =\n persistedSettings.columnPinning ?? props.defaultSettings?.columnPinning ?? {};\n\n const columnOrder = ensureOrdering<TType>(\n columns,\n persistedSettings.columnOrder ?? props.defaultSettings?.columnOrder,\n columnPinning.left\n );\n\n // ensure internal columns are pinned, and are pinned in the correct order\n if (columnPinning?.left?.length) {\n columnPinning.left = freezeUptoExternalColumn(\n columnOrder.indexOf(columnPinning.left[columnPinning.left.length - 1]),\n columnOrder\n );\n } else {\n if (props.defaultColumnFreezingIndex) {\n columnPinning.left = freezeUptoExternalColumn(props.defaultColumnFreezingIndex, columnOrder);\n } else {\n columnPinning.left = unfreezeAllExternalColumns(columnOrder);\n }\n }\n\n const state: Partial<ReactTableState> = {\n columnFilters: persistedSettings.columnFilters ?? props.defaultSettings?.columnFilters ?? [],\n columnOrder,\n columnPinning,\n columnSizing: ignoreInternalColumns(\n persistedSettings.columnSizing ?? props.defaultSettings?.columnSizing ?? defaults.defaultSizing ?? {}\n ),\n columnVisibility:\n persistedSettings.columnVisibility ?? props.defaultSettings?.columnVisibility ?? defaults.defaultVisibility ?? {},\n globalFilter: persistedSettings.searchQuery ?? props.defaultSettings?.searchQuery,\n sorting: persistedSettings.sorting\n ? persistedSettings.sorting.filter(ignoreNotDefinedColumns)\n : props.defaultSettings?.sorting ?? defaults.defaultSorting,\n };\n\n if (props.defaultRowGroupColumnId) {\n state.grouping = [props.defaultRowGroupColumnId as string];\n // row groups should (all) always be expanded by default\n state.expanded = true;\n }\n\n return state;\n }, []);\n}\n"],"names":["processChildren","child","columns","defaultSizing","defaultSorting","defaultVisibility","settings","defaultRowGroupColumnId","localization","columnHelper","createColumnHelper","React","isValidElement","props","children","id","header","push","group","Children","toArray","reduce","enableGrouping","accessor","_meta$align","untypedId","accessorKey","renderer","aggregate","footer","aggregationFn","defaultHidden","defaultWidth","enableEditing","control","enableFiltering","enableColumnFilter","enableHiding","enableOrdering","enablePrinting","enableResizing","enableSearch","enableGlobalFilter","enableSorting","enableTruncate","minWidth","minSize","getCellMinWidth","fontSize","sort","sortFn","meta","dataTypeProperties","getDataTypeProperties","dataType","isGrouped","undefined","desc","column","accessorFn","row","get","align","cell","info","getValue","original","getDisplayValue","dataTypeRenderer","value","_dataTypeProperties$g","_dataTypeProperties$g2","call","table","getRowModel","rows","flatMap","filterFn","aggregatedCell","sortingFn","getSortingFn","sortDescFirst","sortUndefined","createInternalColumn","size","mapTableChildrenToColumns","options","internalColumns","_props$rowActions","enableRowExpansion","rowExpansionRenderer","rowExpansion","unshift","enableRowSelection","enableRowSelectionSingle","rowSelection","enableRowDrag","onRowDrag","rowDrag","enableRowActions","rowActions","length","configureReactTableOptions","reactTableEnableRowSelection","tableOptions","defaultColumn","enableColumnHiding","enableColumnResizing","enableColumnFilters","_options$enableFilter","_options$enableColumn","enableExpanding","_options$enableRowExp","_options$enableColumn2","enablePinning","_options$enableColumn3","enableColumnFreezing","enableMultiRowSelection","_options$enableSortin","getExpandedRowModel","getGroupedRowModel","groupedColumnMode","columnResizeMode","onChangeFilter","getFilteredRowModel","filterFns","tacoFilter","columnId","filter","columnFilterFn","globalFilterFn","searchQuery","getColumnCanGlobalFilter","_column$columnDef$met","_column$columnDef$met2","columnDef","onChangeSort","manualSorting","getSortedRowModel","useReactTableInitialState","persistedSettings","defaults","useMemo","ignoreNotDefinedColumns","find","definedColumn","columnPinning","_ref","_persistedSettings$co","_props$defaultSetting","defaultSettings","columnOrder","ensureOrdering","_persistedSettings$co2","_props$defaultSetting2","left","_columnPinning$left","freezeUptoExternalColumn","indexOf","defaultColumnFreezingIndex","unfreezeAllExternalColumns","state","columnFilters","_ref2","_persistedSettings$co3","_props$defaultSetting3","columnSizing","ignoreInternalColumns","_ref3","_ref4","_persistedSettings$co4","_props$defaultSetting4","columnVisibility","_ref5","_ref6","_persistedSettings$co5","_props$defaultSetting5","globalFilter","_persistedSettings$se","_props$defaultSetting6","sorting","_props$defaultSetting7","_props$defaultSetting8","grouping","expanded"],"mappings":"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"}
1
+ {"version":3,"file":"setup.js","sources":["../../../../../../../../../src/primitives/Table/useTableManager/util/setup.ts"],"sourcesContent":["import React from 'react';\nimport {\n createColumnHelper,\n getExpandedRowModel,\n getFilteredRowModel,\n getGroupedRowModel,\n getSortedRowModel,\n TableOptions as ReactTableOptions,\n Row as ReactTableRow,\n Column as ReactTableColumn,\n ColumnDef as ReactTableColumnDef,\n ColumnPinningState as ReactTableColumnPinningState,\n ColumnSizingState as ReactTableColumnSizingState,\n ColumnSort as ReactTableColumnSort,\n TableState as ReactTableState,\n VisibilityState as ReactTableVisibilityState,\n} from '@tanstack/react-table';\nimport get from 'lodash/get';\nimport { useTableManagerInternalColumns, useTableManagerInternalColumn } from '../types';\nimport { TableColumnProps, TableFeatureProps, TableGroupProps, TableProps, TableSettings } from '../../types';\nimport { getSortingFn } from './sorting';\nimport { ensureOrdering, freezeUptoExternalColumn, getCellMinWidth, unfreezeAllExternalColumns } from './columns';\nimport { columnFilterFn } from './filtering';\nimport { globalFilterFn } from './search';\nimport { ignoreInternalColumns } from './settings';\nimport { getDataTypeProperties } from './dataTypes';\nimport { Localization } from '../../../../components/Provider/Localization';\n\n// mapping children to react-table columns\nfunction processChildren<TType>(\n child: React.ReactChild | React.ReactFragment | React.ReactPortal,\n columns: ReactTableColumnDef<TType>[],\n defaultSizing: ReactTableColumnSizingState,\n defaultSorting: ReactTableColumnSort[],\n defaultVisibility: ReactTableVisibilityState,\n settings: TableSettings,\n defaultRowGroupColumnId: keyof TType | undefined,\n localization: Localization\n): ReactTableColumnDef<TType>[] {\n const columnHelper = createColumnHelper<TType>();\n\n if (React.isValidElement<TableGroupProps>(child) && child.props.children) {\n const { children, id, header } = child.props;\n\n columns.push(\n columnHelper.group({\n id,\n header,\n columns: React.Children.toArray(children).reduce(\n (columns: ReactTableColumnDef<TType>[], child) =>\n processChildren<TType>(\n child,\n columns,\n defaultSizing,\n defaultSorting,\n defaultVisibility,\n settings,\n defaultRowGroupColumnId,\n localization\n ),\n []\n ),\n // we don't want to let column groups be grouped/aggregrated\n enableGrouping: false,\n })\n );\n } else if (React.isValidElement<TableColumnProps<TType>>(child) && (child.props.accessor || child.props.id)) {\n const {\n id: untypedId,\n accessor: accessorKey = untypedId,\n // renderers\n renderer,\n aggregate,\n footer,\n header,\n // options\n aggregationFn,\n defaultHidden,\n defaultWidth,\n enableEditing = !!child.props.control,\n enableFiltering: enableColumnFilter = true,\n enableGrouping = false,\n enableHiding = true,\n enableOrdering = true,\n enablePrinting = true,\n enableResizing = true,\n enableSearch: enableGlobalFilter = true,\n enableSorting = true,\n enableTruncate = false,\n minWidth: minSize = getCellMinWidth(settings.fontSize),\n sort,\n sortFn,\n ...meta\n } = child.props;\n const id = untypedId as string;\n const dataTypeProperties = getDataTypeProperties<TType>(child.props.dataType);\n\n if (defaultHidden && enableHiding) {\n defaultVisibility[id] = false;\n }\n\n if (defaultWidth) {\n defaultSizing[id] = defaultWidth as any;\n }\n\n const isGrouped = defaultRowGroupColumnId === id;\n\n if (child.props.sort !== undefined || isGrouped) {\n defaultSorting.push({\n id,\n desc: sort === 'desc',\n });\n }\n\n const column: ReactTableColumnDef<TType, any> = {\n id,\n accessorKey,\n // To avoid errors caused by undefined row data values, we pass accessorFn as a preventive measure\n // accessorKey can be dot notated strings, so we use lodash.get to access deeply nested children\n accessorFn: row => get(row, accessorKey),\n header: header,\n // features\n enableColumnFilter,\n enableGlobalFilter,\n enableGrouping,\n enableHiding: isGrouped ? false : enableHiding,\n enableResizing,\n enableSorting,\n // config - sizing\n minSize,\n // meta\n meta: {\n ...(meta as any),\n align: meta.align ?? dataTypeProperties.align,\n defaultWidth,\n enableOrdering: isGrouped ? false : enableOrdering,\n enablePrinting,\n enableTruncate,\n enableEditing,\n header,\n renderer,\n },\n };\n\n // renderers - use defined renderers first, then fall back to data type renderers (if there is one)\n if (typeof renderer === 'function') {\n column.cell = info => renderer(info.getValue(), info.row.original);\n } else if (dataTypeProperties.getDisplayValue) {\n const dataTypeRenderer = (value: any) => dataTypeProperties.getDisplayValue?.(value, { localization }) ?? value;\n column.cell = info => dataTypeRenderer(info.getValue());\n (column.meta as any).renderer = dataTypeRenderer;\n }\n\n if (typeof footer === 'function') {\n column.footer = info =>\n footer(info.table.getRowModel().rows.flatMap(row => (row.original !== undefined ? row.original : [])));\n }\n\n // config - filtering\n if (enableColumnFilter) {\n column.filterFn = 'tacoFilter' as any;\n }\n\n // config - grouping/aggregation\n if (enableGrouping) {\n column.aggregationFn = aggregationFn;\n\n if (typeof aggregate === 'function') {\n column.aggregatedCell = info => aggregate(info.getValue(), info.row.original);\n }\n }\n\n // config - sorting\n if (enableSorting) {\n column.sortingFn = getSortingFn<TType>(child.props.dataType, sortFn);\n column.sortDescFirst = false;\n column.sortUndefined = 1;\n }\n\n columns.push(column);\n }\n\n return columns;\n}\n\nfunction createInternalColumn<TType = unknown>(\n id: string,\n column: useTableManagerInternalColumn<TType>,\n defaultSizing: ReactTableColumnSizingState\n) {\n if (column.size) {\n defaultSizing[id] = column.size;\n }\n\n return {\n id,\n accessorKey: id,\n header: column.header,\n cell: column.renderer,\n // features\n enableColumnFilter: false,\n enableGlobalFilter: false,\n enableGrouping: false,\n enableHiding: false,\n enableResizing: false,\n enableSorting: false,\n // config - sizing\n size: column.size,\n minSize: column.size,\n // meta\n meta: {\n ...(column.meta as any),\n enableOrdering: false,\n enablePrinting: false,\n enableTruncate: false,\n },\n } as ReactTableColumnDef<TType, any>;\n}\n\nexport function mapTableChildrenToColumns<TType = unknown>(\n props: TableProps<TType>,\n settings: TableSettings,\n options: TableFeatureProps<TType>,\n internalColumns: useTableManagerInternalColumns<TType> | undefined,\n localization: Localization\n) {\n const { children, defaultRowGroupColumnId } = props;\n const defaultSizing: ReactTableColumnSizingState = {};\n const defaultSorting: ReactTableColumnSort[] = [];\n const defaultVisibility: ReactTableVisibilityState = {};\n\n const columns = React.Children.toArray(children).reduce(\n (columns: ReactTableColumnDef<TType>[], child) =>\n processChildren<TType>(\n child,\n columns,\n defaultSizing,\n defaultSorting,\n defaultVisibility,\n settings,\n defaultRowGroupColumnId,\n localization\n ),\n\n []\n );\n\n if (internalColumns) {\n if (options.enableRowExpansion && props.rowExpansionRenderer && internalColumns.rowExpansion) {\n const column = createInternalColumn<TType>('__expansion', internalColumns.rowExpansion, defaultSizing);\n columns.unshift(column);\n }\n\n if (options.enableRowSelection && internalColumns.rowSelection) {\n const column = createInternalColumn<TType>('__select', internalColumns.rowSelection, defaultSizing);\n columns.unshift(column);\n }\n\n if (options.enableRowDrag && props.onRowDrag && internalColumns.rowDrag) {\n const column = createInternalColumn<TType>('__drag', internalColumns.rowDrag, defaultSizing);\n columns.unshift(column);\n }\n\n if (options.enableRowActions && props.rowActions?.length && internalColumns.rowActions) {\n const column = createInternalColumn<TType>('__actions', internalColumns.rowActions, defaultSizing);\n columns.push(column);\n }\n }\n\n return { columns, defaultSizing, defaultSorting, defaultVisibility };\n}\n\nexport function configureReactTableOptions<TType = unknown>(\n options: TableFeatureProps<TType>,\n props: TableProps<TType>,\n localization: Localization\n) {\n // We don't want to expose internal Tanstack Table row, so we need to wrap enableRowSelection callback into additional function,\n // which receives the React Table Row object and passes row.original to a callback.\n const reactTableEnableRowSelection =\n typeof options.enableRowSelection === 'function'\n ? (row: ReactTableRow<TType>) => (options.enableRowSelection as (row: TType) => boolean)(row.original)\n : options.enableRowSelection;\n\n const tableOptions: Partial<ReactTableOptions<TType>> = {\n defaultColumn: {\n enableColumnFilter: options.enableFiltering || true,\n enableGrouping: false,\n enableHiding: options.enableColumnHiding || true,\n enableResizing: options.enableColumnResizing || true,\n enableGlobalFilter: options.enableSearch || true,\n enableSorting: options.enableSorting || true,\n minSize: 1,\n // the default is 150, which is a bit random\n size: 1,\n },\n enableColumnFilters: options.enableFiltering ?? false,\n enableColumnResizing: options.enableColumnResizing ?? false,\n enableExpanding: options.enableRowExpansion ?? false,\n enableGrouping: true, // users can't customise row grouping, so it can just be always enabled and left to the defaultRowGroupColumnId prop\n enableHiding: options.enableColumnHiding ?? false,\n enablePinning: options.enableColumnFreezing ?? false,\n enableRowSelection: reactTableEnableRowSelection ?? false,\n enableSorting: options.enableSorting ?? false,\n // models for default features\n getExpandedRowModel: getExpandedRowModel<TType>(),\n getGroupedRowModel: getGroupedRowModel<TType>(),\n groupedColumnMode: false,\n };\n\n if (tableOptions.enableColumnResizing) {\n tableOptions.columnResizeMode = 'onChange';\n }\n\n if (tableOptions.enableColumnFilters) {\n // enter controlled filter mode (controlled could be local state, but usually the server)\n if (props.onChangeFilter) {\n // tableOptions.manualFiltering = true;\n // we don't set it because it breaks global filtering (used for search, which is fully client side)\n //\n // tableOptions.onColumnFiltersChange = ...\n // we don't set this because it expects state to be maintained externally, and we don't want\n // consumers to control state outside the table. instead we have a listener that calls onFilter\n } else {\n tableOptions.getFilteredRowModel = getFilteredRowModel<TType>();\n tableOptions.filterFns = {\n tacoFilter: (row: ReactTableRow<TType>, columnId: string, filter: any) =>\n columnFilterFn(row.getValue(columnId), filter),\n };\n }\n }\n\n if (options.enableSearch) {\n // always set these because enableGlobalFilter can be toggled on and off by the user\n tableOptions.getFilteredRowModel = getFilteredRowModel<TType>();\n tableOptions.globalFilterFn = (row: ReactTableRow<TType>, columnId: string, searchQuery: any) =>\n globalFilterFn(row, columnId, searchQuery, localization);\n tableOptions.getColumnCanGlobalFilter = (column: ReactTableColumn<TType>) =>\n column.columnDef.meta?.enableSearch !== false && column.getIsVisible();\n\n // enter controlled search mode (controlled could be local state, but usually the server)\n if (props.onChangeSearch) {\n // tableOptions.manualFiltering = true;\n // we don't set this because controlled search is not currently supported, search is always client side\n //\n // tableOptions.onGlobalFilterChange = ...\n // we don't set this because it expects state to be maintained externally, and we don't want\n // consumers to control state outside the table. instead we have a listener that calls onSearch.\n //\n // we also don't always filter when searching, we have the highlight functionality as the default\n // and filtering can be toggled by the user\n }\n }\n\n if (tableOptions.enableSorting) {\n // enter controlled sort mode (controlled could be local state, but usually the server)\n if (props.onChangeSort) {\n tableOptions.manualSorting = true;\n\n // tableOptions.onSortingChange = ...\n // we don't set this because it expects state to be maintained externally, and we don't want\n // consumers to control state outside the table. instead we have a listener that calls onSort\n } else {\n tableOptions.getSortedRowModel = getSortedRowModel();\n }\n }\n\n return tableOptions;\n}\n\nexport function useReactTableInitialState<TType = unknown>(\n props: TableProps<TType>,\n columns: ReactTableColumnDef<TType>[],\n persistedSettings: TableSettings,\n defaults: {\n defaultSizing: ReactTableColumnSizingState;\n defaultSorting: ReactTableColumnSort[];\n defaultVisibility: ReactTableVisibilityState;\n }\n): Partial<ReactTableState> {\n return React.useMemo(() => {\n const ignoreNotDefinedColumns = column => columns.find(definedColumn => definedColumn.id === column.id);\n\n const columnPinning: ReactTableColumnPinningState =\n persistedSettings.columnPinning ?? props.defaultSettings?.columnPinning ?? {};\n\n const columnOrder = ensureOrdering<TType>(\n columns,\n persistedSettings.columnOrder ?? props.defaultSettings?.columnOrder,\n columnPinning.left\n );\n\n // ensure internal columns are pinned, and are pinned in the correct order\n if (columnPinning?.left?.length) {\n columnPinning.left = freezeUptoExternalColumn(\n columnOrder.indexOf(columnPinning.left[columnPinning.left.length - 1]),\n columnOrder\n );\n } else {\n if (props.defaultColumnFreezingIndex) {\n columnPinning.left = freezeUptoExternalColumn(props.defaultColumnFreezingIndex, columnOrder);\n } else {\n columnPinning.left = unfreezeAllExternalColumns(columnOrder);\n }\n }\n\n const state: Partial<ReactTableState> = {\n columnFilters: persistedSettings.columnFilters ?? props.defaultSettings?.columnFilters ?? [],\n columnOrder,\n columnPinning,\n columnSizing: ignoreInternalColumns(\n persistedSettings.columnSizing ?? props.defaultSettings?.columnSizing ?? defaults.defaultSizing ?? {}\n ),\n columnVisibility:\n persistedSettings.columnVisibility ?? props.defaultSettings?.columnVisibility ?? defaults.defaultVisibility ?? {},\n globalFilter: persistedSettings.searchQuery ?? props.defaultSettings?.searchQuery,\n sorting: persistedSettings.sorting\n ? persistedSettings.sorting.filter(ignoreNotDefinedColumns)\n : props.defaultSettings?.sorting ?? defaults.defaultSorting,\n };\n\n if (props.defaultRowGroupColumnId) {\n state.grouping = [props.defaultRowGroupColumnId as string];\n // row groups should (all) always be expanded by default\n state.expanded = true;\n }\n\n return state;\n }, []);\n}\n"],"names":["processChildren","child","columns","defaultSizing","defaultSorting","defaultVisibility","settings","defaultRowGroupColumnId","localization","columnHelper","createColumnHelper","React","isValidElement","props","children","id","header","push","group","Children","toArray","reduce","enableGrouping","accessor","_meta$align","untypedId","accessorKey","renderer","aggregate","footer","aggregationFn","defaultHidden","defaultWidth","enableEditing","control","enableFiltering","enableColumnFilter","enableHiding","enableOrdering","enablePrinting","enableResizing","enableSearch","enableGlobalFilter","enableSorting","enableTruncate","minWidth","minSize","getCellMinWidth","fontSize","sort","sortFn","meta","dataTypeProperties","getDataTypeProperties","dataType","isGrouped","undefined","desc","column","accessorFn","row","get","align","cell","info","getValue","original","getDisplayValue","dataTypeRenderer","value","_dataTypeProperties$g","_dataTypeProperties$g2","call","table","getRowModel","rows","flatMap","filterFn","aggregatedCell","sortingFn","getSortingFn","sortDescFirst","sortUndefined","createInternalColumn","size","mapTableChildrenToColumns","options","internalColumns","_props$rowActions","enableRowExpansion","rowExpansionRenderer","rowExpansion","unshift","enableRowSelection","rowSelection","enableRowDrag","onRowDrag","rowDrag","enableRowActions","rowActions","length","configureReactTableOptions","reactTableEnableRowSelection","tableOptions","defaultColumn","enableColumnHiding","enableColumnResizing","enableColumnFilters","_options$enableFilter","_options$enableColumn","enableExpanding","_options$enableRowExp","_options$enableColumn2","enablePinning","_options$enableColumn3","enableColumnFreezing","_options$enableSortin","getExpandedRowModel","getGroupedRowModel","groupedColumnMode","columnResizeMode","onChangeFilter","getFilteredRowModel","filterFns","tacoFilter","columnId","filter","columnFilterFn","globalFilterFn","searchQuery","getColumnCanGlobalFilter","_column$columnDef$met","columnDef","getIsVisible","onChangeSort","manualSorting","getSortedRowModel","useReactTableInitialState","persistedSettings","defaults","useMemo","ignoreNotDefinedColumns","find","definedColumn","columnPinning","_ref","_persistedSettings$co","_props$defaultSetting","defaultSettings","columnOrder","ensureOrdering","_persistedSettings$co2","_props$defaultSetting2","left","_columnPinning$left","freezeUptoExternalColumn","indexOf","defaultColumnFreezingIndex","unfreezeAllExternalColumns","state","columnFilters","_ref2","_persistedSettings$co3","_props$defaultSetting3","columnSizing","ignoreInternalColumns","_ref3","_ref4","_persistedSettings$co4","_props$defaultSetting4","columnVisibility","_ref5","_ref6","_persistedSettings$co5","_props$defaultSetting5","globalFilter","_persistedSettings$se","_props$defaultSetting6","sorting","_props$defaultSetting7","_props$defaultSetting8","grouping","expanded"],"mappings":"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"}
package/dist/index.css CHANGED
@@ -674,13 +674,19 @@ table[data-taco^='table'] th[aria-sort]:hover {
674
674
 
675
675
  table[data-taco^='table'] td {
676
676
  /* layout */
677
- @apply flex justify-start px-[var(--table-cell-padding-x)] py-[var(--table-cell-padding-y)];
677
+ @apply flex justify-start px-[var(--table-cell-padding-x)] pt-[var(--table-cell-padding-y)];
678
678
  /* styling */
679
679
  @apply border-grey-300 border-b bg-white outline-none;
680
680
  /* word breaking */
681
681
  @apply break-word hyphens-auto whitespace-pre-line;
682
682
  }
683
683
 
684
+ /* apply bottom padding only when the cell is text only) */
685
+
686
+ table[data-taco^='table'] td:not(:has(> *)) {
687
+ @apply pb-[var(--table-cell-padding-y)];
688
+ }
689
+
684
690
  table[data-taco^='table'][data-table-row-height='short'] td {
685
691
  @apply min-h-[33px];
686
692
  }
@@ -691,6 +697,14 @@ table[data-taco^='table'][data-table-row-height] tfoot td {
691
697
  @apply min-h-[41px];
692
698
  }
693
699
 
700
+ table[data-taco^='table'][data-table-row-height='tall'] td {
701
+ @apply min-h-[49px];
702
+ }
703
+
704
+ table[data-taco^='table'][data-table-row-height='extra-tall'] td {
705
+ @apply min-h-[61px];
706
+ }
707
+
694
708
  table[data-taco^='table'] [data-cell-align='left'] {
695
709
  @apply justify-start text-left;
696
710
  }
@@ -766,13 +780,17 @@ table[data-taco^='table'] td label {
766
780
  }
767
781
 
768
782
  table[data-taco^='table'] td label [data-taco='label-message'] {
769
- @apply !-mb-1.5 !-ml-2 !mt-1.5;
783
+ @apply !-ml-2 !mb-1 !mt-1.5;
770
784
  }
771
785
 
772
786
  table[data-taco^='table'] td label [data-taco='switch'] + [data-taco='label-message'] {
773
787
  @apply !ml-0;
774
788
  }
775
789
 
790
+ table[data-taco^='table'][data-table-font-size] td [role='checkbox'] [data-taco='icon'] {
791
+ @apply !my-0;
792
+ }
793
+
776
794
  /* font sizing */
777
795
  table[data-taco^='table'][data-table-font-size='small'] {
778
796
  @apply text-xs;
@@ -787,8 +805,8 @@ table[data-taco^='table'][data-table-font-size='large'] {
787
805
  }
788
806
 
789
807
  /* small font size */
790
- table[data-taco^='table'][data-table-font-size='small'] td > [data-taco='button'],
791
- table[data-taco^='table'][data-table-font-size='small'] td > [data-taco='icon-button'] {
808
+ table[data-taco^='table'][data-table-font-size='small'] td [data-taco='button'],
809
+ table[data-taco^='table'][data-table-font-size='small'] td [data-taco='icon-button'] {
792
810
  @apply !-my-2;
793
811
  }
794
812
 
@@ -796,7 +814,7 @@ table[data-taco^='table'][data-table-font-size='small'] td [data-taco='spinner']
796
814
  @apply !h-4 !w-4;
797
815
  }
798
816
 
799
- table[data-taco^='table'][data-table-font-size='small'] td > [data-taco='icon'],
817
+ table[data-taco^='table'][data-table-font-size='small'] td [data-taco='icon'],
800
818
  table[data-taco^='table'][data-table-font-size='small'] td [data-taco='spinner'] {
801
819
  @apply !-my-[3px];
802
820
  }
@@ -815,7 +833,7 @@ table[data-taco^='table'][data-table-font-size='small'] td [data-taco='tag'] {
815
833
  table[data-taco^='table'][data-table-font-size='small'] td [data-taco='select2-container'],
816
834
  table[data-taco^='table'][data-table-font-size='small'] td [data-taco='Select2'],
817
835
  table[data-taco^='table'][data-table-font-size='small'] td [data-taco='textarea'] {
818
- @apply !-mx-[7px] !-my-[4px] !min-h-[theme(spacing.6)] !w-[calc(100%_+_14px)] text-xs focus:z-10;
836
+ @apply !-mx-[7px] !-mt-[4px] !min-h-[theme(spacing.6)] !w-[calc(100%_+_14px)] text-xs focus:z-10;
819
837
  }
820
838
 
821
839
  table[data-taco^='table'][data-table-font-size='small'] td [data-taco='input-container']:has([data-taco='input']) {
@@ -823,7 +841,7 @@ table[data-taco^='table'][data-table-font-size='small'] td [data-taco='input-con
823
841
  }
824
842
 
825
843
  table[data-taco^='table'][data-table-font-size='small'] td [data-taco='input-container']:has([data-taco='input']) [data-taco='input'] {
826
- @apply !-my-[4px] !min-h-[theme(spacing.6)] !w-[calc(100%_+_14px)] text-xs focus:z-10;
844
+ @apply !-my-[4px] !min-h-[theme(spacing.6)] !w-[calc(100%_+_14px)] !pl-[3px] text-xs focus:z-10;
827
845
  }
828
846
 
829
847
  table[data-taco^='table'][data-table-font-size='small'] td [data-taco='Select2'],
@@ -841,7 +859,7 @@ table[data-taco^='table'][data-table-font-size='small'] td [data-taco='Select2']
841
859
  }
842
860
 
843
861
  table[data-taco^='table'][data-table-font-size='small'] td [data-taco='textarea'] {
844
- @apply !py-[3px] !leading-4;
862
+ @apply !mb-1.5 !py-[3px] !leading-4;
845
863
  }
846
864
 
847
865
  table[data-taco^='table'][data-table-font-size='small'] td [data-taco='input-container'] [data-affix-type='postfix'] button {
@@ -877,16 +895,16 @@ table[data-taco^='table'][data-table-font-size='small'] td [data-taco='switch-co
877
895
  }
878
896
 
879
897
  /* medium font size */
880
- table[data-taco^='table'][data-table-font-size='medium'] td > [data-taco='spinner'] {
898
+ table[data-taco^='table'][data-table-font-size='medium'] td [data-taco='spinner'] {
881
899
  @apply !h-5 !w-5;
882
900
  }
883
901
 
884
- table[data-taco^='table'][data-table-font-size='medium'] td > [data-taco='button'],
885
- table[data-taco^='table'][data-table-font-size='medium'] td > [data-taco='icon-button'] {
902
+ table[data-taco^='table'][data-table-font-size='medium'] td [data-taco='button'],
903
+ table[data-taco^='table'][data-table-font-size='medium'] td [data-taco='icon-button'] {
886
904
  @apply !-my-1.5;
887
905
  }
888
906
 
889
- table[data-taco^='table'][data-table-font-size='medium'] td > [data-taco='icon'] {
907
+ table[data-taco^='table'][data-table-font-size='medium'] td [data-taco='icon'] {
890
908
  @apply !-my-0.5;
891
909
  }
892
910
 
@@ -905,7 +923,7 @@ table[data-taco^='table'][data-table-font-size='medium'] td [role='combobox'] [d
905
923
  table[data-taco^='table'][data-table-font-size='medium'] td [data-taco='select2-container'],
906
924
  table[data-taco^='table'][data-table-font-size='medium'] td [data-taco='Select2'],
907
925
  table[data-taco^='table'][data-table-font-size='medium'] td [data-taco='textarea'] {
908
- @apply !-mx-[9px] !-my-[6px] !min-h-[theme(spacing.8)] !w-[calc(100%_+_16px)] focus:z-10;
926
+ @apply !-mx-[9px] !-mt-[6px] !min-h-[theme(spacing.8)] !w-[calc(100%_+_16px)] focus:z-10;
909
927
  }
910
928
 
911
929
  table[data-taco^='table'][data-table-font-size='medium'] td [data-taco='input-container']:has([data-taco='input']) {
@@ -934,7 +952,7 @@ table[data-taco^='table'][data-table-font-size='medium'] td [data-taco='Select2'
934
952
  }
935
953
 
936
954
  table[data-taco^='table'][data-table-font-size='medium'] td [data-taco='textarea'] {
937
- @apply !-mb-[8px] !pr-[5px];
955
+ @apply !mb-[3px] !pr-[5px];
938
956
  }
939
957
 
940
958
  table[data-taco^='table'][data-table-font-size='medium'] td[data-cell-truncate='true'] [data-taco='textarea'] {
@@ -950,16 +968,16 @@ table[data-taco^='table'][data-table-font-size='medium'] td [data-taco='input-co
950
968
  }
951
969
 
952
970
  /* large font size */
953
- table[data-taco^='table'][data-table-font-size='large'] td > [data-taco='spinner'] {
971
+ table[data-taco^='table'][data-table-font-size='large'] td [data-taco='spinner'] {
954
972
  @apply !h-6 !w-6;
955
973
  }
956
974
 
957
- table[data-taco^='table'][data-table-font-size='large'] td > [data-taco='button'],
958
- table[data-taco^='table'][data-table-font-size='large'] td > [data-taco='icon-button'] {
975
+ table[data-taco^='table'][data-table-font-size='large'] td [data-taco='button'],
976
+ table[data-taco^='table'][data-table-font-size='large'] td [data-taco='icon-button'] {
959
977
  @apply !-my-1;
960
978
  }
961
979
 
962
- table[data-taco^='table'][data-table-font-size='large'] td > [data-taco='icon'] {
980
+ table[data-taco^='table'][data-table-font-size='large'] td [data-taco='icon'] {
963
981
  @apply !-my-0.5;
964
982
  }
965
983
 
@@ -998,7 +1016,7 @@ table[data-taco^='table'][data-table-font-size='large'] td [data-taco='Select2']
998
1016
  }
999
1017
 
1000
1018
  table[data-taco^='table'][data-table-font-size='large'] td [data-taco='textarea'] {
1001
- @apply !py-[7.5px];
1019
+ @apply !-mb-[1px] !py-[7.5px];
1002
1020
  }
1003
1021
 
1004
1022
  table[data-taco^='table'][data-table-font-size='large'] td:not([data-cell-truncate='true']) > [data-taco='textarea'] {
@@ -1255,19 +1273,23 @@ table[data-taco='table3'][data-table-editing-mode] tbody tr:not([data-row-active
1255
1273
  }
1256
1274
 
1257
1275
  table[data-taco='table3'][data-table-editing-mode] tbody tr[data-row-editing-move='true'] {
1258
- @apply rounded border-2 border-blue-500 px-px;
1276
+ @apply rounded-[4px] border-y-2 border-blue-500;
1259
1277
  }
1260
1278
 
1261
1279
  table[data-taco='table3'][data-table-editing-mode] tbody tr[data-row-editing-move='true'] td {
1262
1280
  @apply z-30 border-b-0;
1263
1281
  }
1264
1282
 
1283
+ table[data-taco='table3'][data-table-editing-mode] tbody tr[data-row-editing-move='true'] td[data-cell-pinned] {
1284
+ @apply z-40;
1285
+ }
1286
+
1265
1287
  table[data-taco='table3'][data-table-editing-mode] tbody tr[data-row-editing-move='true'] > td:first-child {
1266
- @apply rounded-l;
1288
+ @apply border-l-2 border-blue-500 pl-[calc(var(--table-cell-padding-x)_-_2px)];
1267
1289
  }
1268
1290
 
1269
1291
  table[data-taco='table3'][data-table-editing-mode] tbody tr[data-row-editing-move='true'] > td:last-child {
1270
- @apply rounded-l;
1292
+ @apply border-r-2 border-blue-500 pr-[calc(var(--table-cell-padding-x)_-_2px)];
1271
1293
  }
1272
1294
 
1273
1295
  /* invalid rows */
@@ -1,11 +1,10 @@
1
1
  /// <reference types="react" />
2
- import { TableFontSize, TableRowActionRenderer } from '../../../../types';
2
+ import { TableRowActionRenderer } from '../../../../types';
3
3
  import { useTableManagerInternalColumn } from '../../../../useTableManager/types';
4
4
  export declare type ActionsProps<TType = unknown> = {
5
5
  actions: TableRowActionRenderer<TType>[];
6
6
  actionsLength: number;
7
7
  data: any;
8
- fontSize: TableFontSize;
9
8
  isActiveRow: boolean;
10
9
  rowId: string;
11
10
  };
@@ -135,7 +135,6 @@ export declare type TableFeatureProps<TType = unknown> = {
135
135
  enableColumnResizing?: boolean;
136
136
  enableRowExpansion?: boolean;
137
137
  enableRowSelection?: TableConditionalRowProp<TType>;
138
- enableRowSelectionSingle?: TableConditionalRowProp<TType>;
139
138
  enableColumnOrdering?: boolean;
140
139
  enableFontSize?: boolean;
141
140
  enableFooter?: boolean;
@@ -4,7 +4,7 @@ import { TableColumnDataType } from '../../types';
4
4
  import { Localization } from '../../../../components/Provider/Localization';
5
5
  export declare function isInternalColumn(id: string | undefined): boolean | undefined;
6
6
  export declare const getCellMinWidth: (fontSize?: FontSize) => 57 | 83 | 72;
7
- export declare function isCellHighlighted(query: string, value: unknown, dataType: TableColumnDataType | undefined, localization: Localization): boolean;
7
+ export declare function isCellHighlighted(query: string, value: unknown, dataType: TableColumnDataType | undefined, localization: Localization): any;
8
8
  export declare function ensureOrdering<TType = unknown>(columns: ReactTableColumnDef<TType>[], settingsOrder: string[] | undefined, pinnedOrder?: string[] | undefined, internalColumnsPinnedToTheRight?: string[]): string[];
9
9
  export declare function unfreezeAllExternalColumns(leftPinnedState?: string[]): string[];
10
10
  export declare function freezeUptoExternalColumn(index: number, columns: string[]): string[];
@@ -1,6 +1,6 @@
1
1
  import { Table as ReactTable, Row as ReactTableRow } from '@tanstack/react-table';
2
2
  import { TableColumnDataType } from '../../types';
3
3
  import { Localization } from '../../../../components/Provider/Localization';
4
- export declare function isMatched<TType = unknown>(searchQuery: string, cellValue: any, dataType: TableColumnDataType | undefined, localization: Localization): boolean;
5
- export declare function globalFilterFn<TType = unknown>(row: ReactTableRow<TType>, columnId: string, searchQuery: string, localization: Localization): boolean;
4
+ export declare function isMatched<TType = unknown>(searchQuery: string, cellValue: any, dataType: TableColumnDataType | undefined, localization: Localization): any;
5
+ export declare function globalFilterFn<TType = unknown>(row: ReactTableRow<TType>, columnId: string, searchQuery: string, localization: Localization): any;
6
6
  export declare function resetHighlightedColumnIndexes<TType = unknown>(searchQuery: string | undefined, table: ReactTable<TType>, localization: Localization): number | undefined;