@economic/taco 2.5.0 → 2.7.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (78) hide show
  1. package/dist/components/Icon/components/AttachWarning.d.ts +3 -0
  2. package/dist/components/Icon/components/ChartArea.d.ts +3 -0
  3. package/dist/components/Icon/components/ChartBar.d.ts +3 -0
  4. package/dist/components/Icon/components/ChartLine.d.ts +3 -0
  5. package/dist/components/Icon/components/ChartPie.d.ts +3 -0
  6. package/dist/components/Icon/components/ChartTable.d.ts +3 -0
  7. package/dist/components/Icon/components/index.d.ts +1 -1
  8. package/dist/components/Input/Input.d.ts +1 -1
  9. package/dist/components/Menu/components/Item.d.ts +1 -1
  10. package/dist/components/Menu/components/Link.d.ts +1 -1
  11. package/dist/components/Navigation2/components/Link.d.ts +1 -1
  12. package/dist/components/Select2/components/Option.d.ts +1 -1
  13. package/dist/components/Select2/components/Search.d.ts +1 -1
  14. package/dist/components/Select2/components/Trigger.d.ts +1 -1
  15. package/dist/components/Table3/components/columns/cell/EditingCell.d.ts +5 -2
  16. package/dist/components/Table3/components/columns/cell/EditingControl.d.ts +21 -0
  17. package/dist/components/Table3/components/columns/cell/controls/TextAreaControl.d.ts +2 -0
  18. package/dist/components/Tag/Tag.d.ts +1 -1
  19. package/dist/esm/index.css +85 -22
  20. package/dist/esm/packages/taco/src/components/Icon/components/AttachWarning.js +19 -0
  21. package/dist/esm/packages/taco/src/components/Icon/components/AttachWarning.js.map +1 -0
  22. package/dist/esm/packages/taco/src/components/Icon/components/ChartArea.js +19 -0
  23. package/dist/esm/packages/taco/src/components/Icon/components/ChartArea.js.map +1 -0
  24. package/dist/esm/packages/taco/src/components/Icon/components/ChartBar.js +19 -0
  25. package/dist/esm/packages/taco/src/components/Icon/components/ChartBar.js.map +1 -0
  26. package/dist/esm/packages/taco/src/components/Icon/components/ChartLine.js +19 -0
  27. package/dist/esm/packages/taco/src/components/Icon/components/ChartLine.js.map +1 -0
  28. package/dist/esm/packages/taco/src/components/Icon/components/ChartPie.js +17 -0
  29. package/dist/esm/packages/taco/src/components/Icon/components/ChartPie.js.map +1 -0
  30. package/dist/esm/packages/taco/src/components/Icon/components/ChartTable.js +19 -0
  31. package/dist/esm/packages/taco/src/components/Icon/components/ChartTable.js.map +1 -0
  32. package/dist/esm/packages/taco/src/components/Icon/components/index.js +12 -0
  33. package/dist/esm/packages/taco/src/components/Icon/components/index.js.map +1 -1
  34. package/dist/esm/packages/taco/src/components/Select2/components/Trigger.js +1 -1
  35. package/dist/esm/packages/taco/src/components/Select2/components/Trigger.js.map +1 -1
  36. package/dist/esm/packages/taco/src/components/Table2/components/column/Cell.js +6 -1
  37. package/dist/esm/packages/taco/src/components/Table2/components/column/Cell.js.map +1 -1
  38. package/dist/esm/packages/taco/src/components/Table3/Table3.js +10 -3
  39. package/dist/esm/packages/taco/src/components/Table3/Table3.js.map +1 -1
  40. package/dist/esm/packages/taco/src/components/Table3/components/columns/cell/EditingCell.js +27 -145
  41. package/dist/esm/packages/taco/src/components/Table3/components/columns/cell/EditingCell.js.map +1 -1
  42. package/dist/esm/packages/taco/src/components/Table3/components/columns/cell/EditingControl.js +158 -0
  43. package/dist/esm/packages/taco/src/components/Table3/components/columns/cell/EditingControl.js.map +1 -0
  44. package/dist/esm/packages/taco/src/components/Table3/components/columns/cell/controls/TextAreaControl.js +102 -0
  45. package/dist/esm/packages/taco/src/components/Table3/components/columns/cell/controls/TextAreaControl.js.map +1 -0
  46. package/dist/esm/packages/taco/src/components/Table3/components/columns/footer/Footer.js +1 -1
  47. package/dist/esm/packages/taco/src/components/Table3/components/columns/footer/Footer.js.map +1 -1
  48. package/dist/esm/packages/taco/src/components/Table3/components/columns/internal/Actions.js +2 -2
  49. package/dist/esm/packages/taco/src/components/Table3/components/columns/internal/Actions.js.map +1 -1
  50. package/dist/esm/packages/taco/src/components/Table3/components/columns/internal/Drag.js +2 -2
  51. package/dist/esm/packages/taco/src/components/Table3/components/columns/internal/Drag.js.map +1 -1
  52. package/dist/esm/packages/taco/src/components/Table3/components/columns/internal/Selection.js +3 -3
  53. package/dist/esm/packages/taco/src/components/Table3/components/columns/internal/Selection.js.map +1 -1
  54. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/PrintButton/PrintButton.js +0 -5
  55. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/PrintButton/PrintButton.js.map +1 -1
  56. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/PrintButton/PrintIFrame.js +4 -2
  57. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/PrintButton/PrintIFrame.js.map +1 -1
  58. package/dist/esm/packages/taco/src/components/Table3/hooks/features/useColumnFreezing.js +14 -5
  59. package/dist/esm/packages/taco/src/components/Table3/hooks/features/useColumnFreezing.js.map +1 -1
  60. package/dist/esm/packages/taco/src/components/Table3/hooks/features/useSettings.js +4 -1
  61. package/dist/esm/packages/taco/src/components/Table3/hooks/features/useSettings.js.map +1 -1
  62. package/dist/esm/packages/taco/src/components/Table3/hooks/useConvertChildrenToColumns.js +82 -78
  63. package/dist/esm/packages/taco/src/components/Table3/hooks/useConvertChildrenToColumns.js.map +1 -1
  64. package/dist/esm/packages/taco/src/components/Table3/hooks/useCssGrid.js +2 -0
  65. package/dist/esm/packages/taco/src/components/Table3/hooks/useCssGrid.js.map +1 -1
  66. package/dist/esm/packages/taco/src/hooks/useLocalStorage.js +11 -1
  67. package/dist/esm/packages/taco/src/hooks/useLocalStorage.js.map +1 -1
  68. package/dist/esm/packages/taco/src/index.js +1 -1
  69. package/dist/hooks/useLocalStorage.d.ts +1 -1
  70. package/dist/index.css +85 -22
  71. package/dist/primitives/Listbox2/components/Root.d.ts +1 -1
  72. package/dist/primitives/Listbox2/types.d.ts +1 -1
  73. package/dist/taco.cjs.development.js +513 -257
  74. package/dist/taco.cjs.development.js.map +1 -1
  75. package/dist/taco.cjs.production.min.js +1 -1
  76. package/dist/taco.cjs.production.min.js.map +1 -1
  77. package/package.json +2 -2
  78. package/types.json +25442 -12989
@@ -26,88 +26,92 @@ function getSortingFn(dataType, customFnOrBuiltIn) {
26
26
  return 'auto';
27
27
  }
28
28
  function useConvertChildrenToColumns(props, options, editing) {
29
- var _props$actionsForRow;
30
- const columnHelper = createColumnHelper();
31
- const columns = [];
32
- const defaultColumnSizing = {};
33
- const defaultColumnVisibility = {};
34
- const defaultSorting = [];
35
- React__default.Children.toArray(props.children).filter(child => !!child) // remove falsey children
36
- .forEach(child => {
37
- if ( /*#__PURE__*/React__default.isValidElement(child) && child.props.accessor) {
38
- var _child$props$enableRe, _child$props$enableFi, _child$props$enableSo, _child$props$enableHi, _child$props$enableOr, _child$props$enableSe, _child$props$enableTr;
39
- if (child.props.defaultWidth) {
40
- defaultColumnSizing[child.props.accessor] = child.props.defaultWidth === 'grow' ? '1fr' : child.props.defaultWidth;
41
- }
42
- if (child.props.defaultHidden && options.enableColumnHiding) {
43
- defaultColumnVisibility[child.props.accessor] = false;
44
- }
45
- if (child.props.sort !== undefined) {
46
- defaultSorting.push({
29
+ // It's important to memoise column definitions, because it prevents columns like "Drag column" to re-render on every state change,
30
+ // and break dragging at the moment it happens.
31
+ return React__default.useMemo(() => {
32
+ var _props$actionsForRow;
33
+ const columnHelper = createColumnHelper();
34
+ const columns = [];
35
+ const defaultColumnSizing = {};
36
+ const defaultColumnVisibility = {};
37
+ const defaultSorting = [];
38
+ React__default.Children.toArray(props.children).filter(child => !!child) // remove falsey children
39
+ .forEach(child => {
40
+ if ( /*#__PURE__*/React__default.isValidElement(child) && child.props.accessor) {
41
+ var _child$props$enableRe, _child$props$enableFi, _child$props$enableSo, _child$props$enableHi, _child$props$enableOr, _child$props$enableSe, _child$props$enableTr;
42
+ if (child.props.defaultWidth) {
43
+ defaultColumnSizing[child.props.accessor] = child.props.defaultWidth === 'grow' ? '1fr' : child.props.defaultWidth;
44
+ }
45
+ if (child.props.defaultHidden && options.enableColumnHiding) {
46
+ defaultColumnVisibility[child.props.accessor] = false;
47
+ }
48
+ if (child.props.sort !== undefined) {
49
+ defaultSorting.push({
50
+ id: child.props.accessor,
51
+ desc: child.props.sort === 'desc'
52
+ });
53
+ }
54
+ columns.push({
55
+ accessorKey: child.props.accessor,
47
56
  id: child.props.accessor,
48
- desc: child.props.sort === 'desc'
57
+ header: Header,
58
+ cell: Cell,
59
+ footer: Footer,
60
+ // sizing
61
+ minSize: MIN_COLUMN_SIZE,
62
+ enableResizing: (_child$props$enableRe = child.props.enableResizing) !== null && _child$props$enableRe !== void 0 ? _child$props$enableRe : true,
63
+ // filtering
64
+ enableColumnFilter: (_child$props$enableFi = child.props.enableFiltering) !== null && _child$props$enableFi !== void 0 ? _child$props$enableFi : true,
65
+ filterFn: 'tacoFilter',
66
+ // sorting
67
+ enableSorting: (_child$props$enableSo = child.props.enableSorting) !== null && _child$props$enableSo !== void 0 ? _child$props$enableSo : true,
68
+ sortingFn: getSortingFn(child.props.dataType, child.props.sortFn),
69
+ sortDescFirst: false,
70
+ sortUndefined: 1,
71
+ // visibility
72
+ enableHiding: (_child$props$enableHi = child.props.enableHiding) !== null && _child$props$enableHi !== void 0 ? _child$props$enableHi : true,
73
+ // custom options
74
+ meta: {
75
+ align: child.props.align,
76
+ className: child.props.className,
77
+ control: child.props.control,
78
+ dataType: child.props.dataType,
79
+ enableOrdering: (_child$props$enableOr = child.props.enableOrdering) !== null && _child$props$enableOr !== void 0 ? _child$props$enableOr : true,
80
+ enableSearch: (_child$props$enableSe = child.props.enableSearch) !== null && _child$props$enableSe !== void 0 ? _child$props$enableSe : true,
81
+ enableTruncate: (_child$props$enableTr = child.props.enableTruncate) !== null && _child$props$enableTr !== void 0 ? _child$props$enableTr : false,
82
+ filters: child.props.filters,
83
+ footer: child.props.footer,
84
+ header: child.props.header,
85
+ headerClassName: child.props.headerClassName,
86
+ menu: child.props.menu,
87
+ renderer: child.props.renderer,
88
+ tooltip: child.props.tooltip
89
+ }
49
90
  });
50
91
  }
51
- columns.push({
52
- accessorKey: child.props.accessor,
53
- id: child.props.accessor,
54
- header: Header,
55
- cell: Cell,
56
- footer: Footer,
57
- // sizing
58
- minSize: MIN_COLUMN_SIZE,
59
- enableResizing: (_child$props$enableRe = child.props.enableResizing) !== null && _child$props$enableRe !== void 0 ? _child$props$enableRe : true,
60
- // filtering
61
- enableColumnFilter: (_child$props$enableFi = child.props.enableFiltering) !== null && _child$props$enableFi !== void 0 ? _child$props$enableFi : true,
62
- filterFn: 'tacoFilter',
63
- // sorting
64
- enableSorting: (_child$props$enableSo = child.props.enableSorting) !== null && _child$props$enableSo !== void 0 ? _child$props$enableSo : true,
65
- sortingFn: getSortingFn(child.props.dataType, child.props.sortFn),
66
- sortDescFirst: false,
67
- sortUndefined: 1,
68
- // visibility
69
- enableHiding: (_child$props$enableHi = child.props.enableHiding) !== null && _child$props$enableHi !== void 0 ? _child$props$enableHi : true,
70
- // custom options
71
- meta: {
72
- align: child.props.align,
73
- className: child.props.className,
74
- control: child.props.control,
75
- dataType: child.props.dataType,
76
- enableOrdering: (_child$props$enableOr = child.props.enableOrdering) !== null && _child$props$enableOr !== void 0 ? _child$props$enableOr : true,
77
- enableSearch: (_child$props$enableSe = child.props.enableSearch) !== null && _child$props$enableSe !== void 0 ? _child$props$enableSe : true,
78
- enableTruncate: (_child$props$enableTr = child.props.enableTruncate) !== null && _child$props$enableTr !== void 0 ? _child$props$enableTr : false,
79
- filters: child.props.filters,
80
- footer: child.props.footer,
81
- header: child.props.header,
82
- headerClassName: child.props.headerClassName,
83
- menu: child.props.menu,
84
- renderer: child.props.renderer,
85
- tooltip: child.props.tooltip
86
- }
87
- });
92
+ });
93
+ if (options.enableRowExpansion && props.expandedRowRenderer) {
94
+ columns.unshift(columnHelper.display(createRowExpansionColumn(props.expandedRowRenderer)));
88
95
  }
89
- });
90
- if (options.enableRowExpansion && props.expandedRowRenderer) {
91
- columns.unshift(columnHelper.display(createRowExpansionColumn(props.expandedRowRenderer)));
92
- }
93
- if (options.enableRowSelection) {
94
- columns.unshift(columnHelper.display(createRowSelectionColumn(!!(options.enableRowDrag && props.onRowDrag), !!props.expandedRowRenderer)));
95
- }
96
- if (options.enableRowDrag && props.onRowDrag) {
97
- columns.unshift(columnHelper.display(createRowDragColumn(props.onRowDrag)));
98
- }
99
- if ((_props$actionsForRow = props.actionsForRow) !== null && _props$actionsForRow !== void 0 && _props$actionsForRow.length) {
100
- columns.push(columnHelper.display(createRowActionsColumn()));
101
- }
102
- if (editing.isEnabled && editing.isEditing) {
103
- columns.push(columnHelper.display(createRowEditingActionsColumn()));
104
- }
105
- return {
106
- columns,
107
- defaultColumnSizing,
108
- defaultColumnVisibility,
109
- defaultSorting
110
- };
96
+ if (options.enableRowSelection) {
97
+ columns.unshift(columnHelper.display(createRowSelectionColumn(!!(options.enableRowDrag && props.onRowDrag), !!props.expandedRowRenderer)));
98
+ }
99
+ if (options.enableRowDrag && props.onRowDrag) {
100
+ columns.unshift(columnHelper.display(createRowDragColumn(props.onRowDrag)));
101
+ }
102
+ if ((_props$actionsForRow = props.actionsForRow) !== null && _props$actionsForRow !== void 0 && _props$actionsForRow.length) {
103
+ columns.push(columnHelper.display(createRowActionsColumn()));
104
+ }
105
+ if (editing.isEnabled && editing.isEditing) {
106
+ columns.push(columnHelper.display(createRowEditingActionsColumn()));
107
+ }
108
+ return {
109
+ columns,
110
+ defaultColumnSizing,
111
+ defaultColumnVisibility,
112
+ defaultSorting
113
+ };
114
+ }, []);
111
115
  }
112
116
 
113
117
  export { useConvertChildrenToColumns };
@@ -1 +1 @@
1
- {"version":3,"file":"useConvertChildrenToColumns.js","sources":["../../../../../../../../src/components/Table3/hooks/useConvertChildrenToColumns.tsx"],"sourcesContent":["import React from 'react';\nimport { ColumnDef, ColumnSizingState, createColumnHelper, ColumnSort, VisibilityState } from '@tanstack/react-table';\nimport { Table3ColumnProps, Table3Props, Table3Options, Table3ColumnDataType, Table3SortFn } from '../types';\nimport { Header } from '../components/columns/header/Header';\nimport { Footer } from '../components/columns/footer/Footer';\nimport { Cell } from '../components/columns/cell/Cell';\nimport { createRowSelectionColumn } from '../components/columns/internal/Selection';\nimport { MIN_COLUMN_SIZE } from '../components/columns/styles';\nimport { createRowActionsColumn } from '../components/columns/internal/Actions';\nimport { createRowExpansionColumn } from '../components/columns/internal/Expansion';\nimport { createRowDragColumn } from '../components/columns/internal/Drag';\nimport { createRowEditingActionsColumn } from '../components/columns/internal/EditingActions';\nimport { useEditing } from './features/useEditing';\n\nfunction getSortingFn<TType = unknown>(dataType?: Table3ColumnDataType, customFnOrBuiltIn?: Table3SortFn<TType>) {\n if (typeof customFnOrBuiltIn === 'function') {\n return (rowA, rowB, columnId) => customFnOrBuiltIn(rowA.original, rowB.original, columnId);\n }\n\n // if a built in is being used, just return that\n if (customFnOrBuiltIn) {\n return customFnOrBuiltIn;\n }\n\n // some times we alias based on the type\n if (dataType && dataType !== 'boolean' && dataType !== 'number') {\n return dataType;\n }\n\n // otherwise fall back to auto\n return 'auto';\n}\n\nexport function useConvertChildrenToColumns<TType = unknown>(\n props: Table3Props<TType>,\n options: Table3Options,\n editing: ReturnType<typeof useEditing>\n) {\n const columnHelper = createColumnHelper<TType>();\n\n const columns: ColumnDef<TType>[] = [];\n const defaultColumnSizing: ColumnSizingState = {};\n const defaultColumnVisibility: VisibilityState = {};\n const defaultSorting: ColumnSort[] = [];\n\n (React.Children.toArray(props.children) as React.ReactElement<Table3ColumnProps<TType>>[])\n .filter(child => !!child) // remove falsey children\n .forEach(child => {\n if (React.isValidElement<Table3ColumnProps<TType>>(child) && child.props.accessor) {\n if (child.props.defaultWidth) {\n defaultColumnSizing[child.props.accessor as string] =\n child.props.defaultWidth === 'grow' ? '1fr' : (child.props.defaultWidth as any);\n }\n\n if (child.props.defaultHidden && options.enableColumnHiding) {\n defaultColumnVisibility[child.props.accessor as string] = false;\n }\n\n if (child.props.sort !== undefined) {\n defaultSorting.push({\n id: child.props.accessor as string,\n desc: child.props.sort === 'desc',\n });\n }\n\n columns.push({\n accessorKey: child.props.accessor,\n id: child.props.accessor as string,\n header: Header,\n cell: Cell,\n footer: Footer,\n // sizing\n minSize: MIN_COLUMN_SIZE,\n enableResizing: child.props.enableResizing ?? true,\n // filtering\n enableColumnFilter: child.props.enableFiltering ?? true,\n filterFn: 'tacoFilter' as any,\n // sorting\n enableSorting: child.props.enableSorting ?? true,\n sortingFn: getSortingFn<TType>(child.props.dataType, child.props.sortFn),\n sortDescFirst: false,\n sortUndefined: 1,\n // visibility\n enableHiding: child.props.enableHiding ?? true,\n // custom options\n meta: {\n align: child.props.align,\n className: child.props.className,\n control: child.props.control,\n dataType: child.props.dataType,\n enableOrdering: child.props.enableOrdering ?? true,\n enableSearch: child.props.enableSearch ?? true,\n enableTruncate: child.props.enableTruncate ?? false,\n filters: child.props.filters,\n footer: child.props.footer,\n header: child.props.header,\n headerClassName: child.props.headerClassName,\n menu: child.props.menu,\n renderer: child.props.renderer,\n tooltip: child.props.tooltip,\n },\n });\n }\n });\n\n if (options.enableRowExpansion && props.expandedRowRenderer) {\n columns.unshift(columnHelper.display(createRowExpansionColumn(props.expandedRowRenderer)));\n }\n\n if (options.enableRowSelection) {\n columns.unshift(\n columnHelper.display(\n createRowSelectionColumn<TType>(!!(options.enableRowDrag && props.onRowDrag), !!props.expandedRowRenderer)\n )\n );\n }\n\n if (options.enableRowDrag && props.onRowDrag) {\n columns.unshift(columnHelper.display(createRowDragColumn(props.onRowDrag)));\n }\n\n if (props.actionsForRow?.length) {\n columns.push(columnHelper.display(createRowActionsColumn<TType>()));\n }\n\n if (editing.isEnabled && editing.isEditing) {\n columns.push(columnHelper.display(createRowEditingActionsColumn<TType>()));\n }\n\n return { columns, defaultColumnSizing, defaultColumnVisibility, defaultSorting };\n}\n"],"names":["getSortingFn","dataType","customFnOrBuiltIn","rowA","rowB","columnId","original","useConvertChildrenToColumns","props","options","editing","columnHelper","createColumnHelper","columns","defaultColumnSizing","defaultColumnVisibility","defaultSorting","React","Children","toArray","children","filter","child","forEach","isValidElement","accessor","_child$props$enableRe","_child$props$enableFi","_child$props$enableSo","_child$props$enableHi","_child$props$enableOr","_child$props$enableSe","_child$props$enableTr","defaultWidth","defaultHidden","enableColumnHiding","sort","undefined","push","id","desc","accessorKey","header","Header","cell","Cell","footer","Footer","minSize","MIN_COLUMN_SIZE","enableResizing","enableColumnFilter","enableFiltering","filterFn","enableSorting","sortingFn","sortFn","sortDescFirst","sortUndefined","enableHiding","meta","align","className","control","enableOrdering","enableSearch","enableTruncate","filters","headerClassName","menu","renderer","tooltip","enableRowExpansion","expandedRowRenderer","unshift","display","createRowExpansionColumn","enableRowSelection","createRowSelectionColumn","enableRowDrag","onRowDrag","createRowDragColumn","_props$actionsForRow","actionsForRow","length","createRowActionsColumn","isEnabled","isEditing","createRowEditingActionsColumn"],"mappings":"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"}
1
+ {"version":3,"file":"useConvertChildrenToColumns.js","sources":["../../../../../../../../src/components/Table3/hooks/useConvertChildrenToColumns.tsx"],"sourcesContent":["import React from 'react';\nimport { ColumnDef, ColumnSizingState, createColumnHelper, ColumnSort, VisibilityState } from '@tanstack/react-table';\nimport { Table3ColumnProps, Table3Props, Table3Options, Table3ColumnDataType, Table3SortFn } from '../types';\nimport { Header } from '../components/columns/header/Header';\nimport { Footer } from '../components/columns/footer/Footer';\nimport { Cell } from '../components/columns/cell/Cell';\nimport { createRowSelectionColumn } from '../components/columns/internal/Selection';\nimport { MIN_COLUMN_SIZE } from '../components/columns/styles';\nimport { createRowActionsColumn } from '../components/columns/internal/Actions';\nimport { createRowExpansionColumn } from '../components/columns/internal/Expansion';\nimport { createRowDragColumn } from '../components/columns/internal/Drag';\nimport { createRowEditingActionsColumn } from '../components/columns/internal/EditingActions';\nimport { useEditing } from './features/useEditing';\n\nfunction getSortingFn<TType = unknown>(dataType?: Table3ColumnDataType, customFnOrBuiltIn?: Table3SortFn<TType>) {\n if (typeof customFnOrBuiltIn === 'function') {\n return (rowA, rowB, columnId) => customFnOrBuiltIn(rowA.original, rowB.original, columnId);\n }\n\n // if a built in is being used, just return that\n if (customFnOrBuiltIn) {\n return customFnOrBuiltIn;\n }\n\n // some times we alias based on the type\n if (dataType && dataType !== 'boolean' && dataType !== 'number') {\n return dataType;\n }\n\n // otherwise fall back to auto\n return 'auto';\n}\n\nexport function useConvertChildrenToColumns<TType = unknown>(\n props: Table3Props<TType>,\n options: Table3Options,\n editing: ReturnType<typeof useEditing>\n) {\n // It's important to memoise column definitions, because it prevents columns like \"Drag column\" to re-render on every state change,\n // and break dragging at the moment it happens.\n return React.useMemo(() => {\n const columnHelper = createColumnHelper<TType>();\n\n const columns: ColumnDef<TType>[] = [];\n const defaultColumnSizing: ColumnSizingState = {};\n const defaultColumnVisibility: VisibilityState = {};\n const defaultSorting: ColumnSort[] = [];\n\n (React.Children.toArray(props.children) as React.ReactElement<Table3ColumnProps<TType>>[])\n .filter(child => !!child) // remove falsey children\n .forEach(child => {\n if (React.isValidElement<Table3ColumnProps<TType>>(child) && child.props.accessor) {\n if (child.props.defaultWidth) {\n defaultColumnSizing[child.props.accessor as string] =\n child.props.defaultWidth === 'grow' ? '1fr' : (child.props.defaultWidth as any);\n }\n\n if (child.props.defaultHidden && options.enableColumnHiding) {\n defaultColumnVisibility[child.props.accessor as string] = false;\n }\n\n if (child.props.sort !== undefined) {\n defaultSorting.push({\n id: child.props.accessor as string,\n desc: child.props.sort === 'desc',\n });\n }\n\n columns.push({\n accessorKey: child.props.accessor,\n id: child.props.accessor as string,\n header: Header,\n cell: Cell,\n footer: Footer,\n // sizing\n minSize: MIN_COLUMN_SIZE,\n enableResizing: child.props.enableResizing ?? true,\n // filtering\n enableColumnFilter: child.props.enableFiltering ?? true,\n filterFn: 'tacoFilter' as any,\n // sorting\n enableSorting: child.props.enableSorting ?? true,\n sortingFn: getSortingFn<TType>(child.props.dataType, child.props.sortFn),\n sortDescFirst: false,\n sortUndefined: 1,\n // visibility\n enableHiding: child.props.enableHiding ?? true,\n // custom options\n meta: {\n align: child.props.align,\n className: child.props.className,\n control: child.props.control,\n dataType: child.props.dataType,\n enableOrdering: child.props.enableOrdering ?? true,\n enableSearch: child.props.enableSearch ?? true,\n enableTruncate: child.props.enableTruncate ?? false,\n filters: child.props.filters,\n footer: child.props.footer,\n header: child.props.header,\n headerClassName: child.props.headerClassName,\n menu: child.props.menu,\n renderer: child.props.renderer,\n tooltip: child.props.tooltip,\n },\n });\n }\n });\n\n if (options.enableRowExpansion && props.expandedRowRenderer) {\n columns.unshift(columnHelper.display(createRowExpansionColumn(props.expandedRowRenderer)));\n }\n\n if (options.enableRowSelection) {\n columns.unshift(\n columnHelper.display(\n createRowSelectionColumn<TType>(!!(options.enableRowDrag && props.onRowDrag), !!props.expandedRowRenderer)\n )\n );\n }\n\n if (options.enableRowDrag && props.onRowDrag) {\n columns.unshift(columnHelper.display(createRowDragColumn(props.onRowDrag)));\n }\n\n if (props.actionsForRow?.length) {\n columns.push(columnHelper.display(createRowActionsColumn<TType>()));\n }\n\n if (editing.isEnabled && editing.isEditing) {\n columns.push(columnHelper.display(createRowEditingActionsColumn<TType>()));\n }\n\n return { columns, defaultColumnSizing, defaultColumnVisibility, defaultSorting };\n }, []);\n}\n"],"names":["getSortingFn","dataType","customFnOrBuiltIn","rowA","rowB","columnId","original","useConvertChildrenToColumns","props","options","editing","React","useMemo","columnHelper","createColumnHelper","columns","defaultColumnSizing","defaultColumnVisibility","defaultSorting","Children","toArray","children","filter","child","forEach","isValidElement","accessor","_child$props$enableRe","_child$props$enableFi","_child$props$enableSo","_child$props$enableHi","_child$props$enableOr","_child$props$enableSe","_child$props$enableTr","defaultWidth","defaultHidden","enableColumnHiding","sort","undefined","push","id","desc","accessorKey","header","Header","cell","Cell","footer","Footer","minSize","MIN_COLUMN_SIZE","enableResizing","enableColumnFilter","enableFiltering","filterFn","enableSorting","sortingFn","sortFn","sortDescFirst","sortUndefined","enableHiding","meta","align","className","control","enableOrdering","enableSearch","enableTruncate","filters","headerClassName","menu","renderer","tooltip","enableRowExpansion","expandedRowRenderer","unshift","display","createRowExpansionColumn","enableRowSelection","createRowSelectionColumn","enableRowDrag","onRowDrag","createRowDragColumn","_props$actionsForRow","actionsForRow","length","createRowActionsColumn","isEnabled","isEditing","createRowEditingActionsColumn"],"mappings":";;;;;;;;;;;;AAcA,SAASA,YAAYA,CAAkBC,QAA+B,EAAEC,iBAAuC;EAC3G,IAAI,OAAOA,iBAAiB,KAAK,UAAU,EAAE;IACzC,OAAO,CAACC,IAAI,EAAEC,IAAI,EAAEC,QAAQ,KAAKH,iBAAiB,CAACC,IAAI,CAACG,QAAQ,EAAEF,IAAI,CAACE,QAAQ,EAAED,QAAQ,CAAC;;;EAI9F,IAAIH,iBAAiB,EAAE;IACnB,OAAOA,iBAAiB;;;EAI5B,IAAID,QAAQ,IAAIA,QAAQ,KAAK,SAAS,IAAIA,QAAQ,KAAK,QAAQ,EAAE;IAC7D,OAAOA,QAAQ;;;EAInB,OAAO,MAAM;AACjB;SAEgBM,2BAA2BA,CACvCC,KAAyB,EACzBC,OAAsB,EACtBC,OAAsC;;;EAItC,OAAOC,cAAK,CAACC,OAAO,CAAC;;IACjB,MAAMC,YAAY,GAAGC,kBAAkB,EAAS;IAEhD,MAAMC,OAAO,GAAuB,EAAE;IACtC,MAAMC,mBAAmB,GAAsB,EAAE;IACjD,MAAMC,uBAAuB,GAAoB,EAAE;IACnD,MAAMC,cAAc,GAAiB,EAAE;IAEtCP,cAAK,CAACQ,QAAQ,CAACC,OAAO,CAACZ,KAAK,CAACa,QAAQ,CAAoD,CACrFC,MAAM,CAACC,KAAK,IAAI,CAAC,CAACA,KAAK,CAAC;KACxBC,OAAO,CAACD,KAAK;MACV,kBAAIZ,cAAK,CAACc,cAAc,CAA2BF,KAAK,CAAC,IAAIA,KAAK,CAACf,KAAK,CAACkB,QAAQ,EAAE;QAAA,IAAAC,qBAAA,EAAAC,qBAAA,EAAAC,qBAAA,EAAAC,qBAAA,EAAAC,qBAAA,EAAAC,qBAAA,EAAAC,qBAAA;QAC/E,IAAIV,KAAK,CAACf,KAAK,CAAC0B,YAAY,EAAE;UAC1BlB,mBAAmB,CAACO,KAAK,CAACf,KAAK,CAACkB,QAAkB,CAAC,GAC/CH,KAAK,CAACf,KAAK,CAAC0B,YAAY,KAAK,MAAM,GAAG,KAAK,GAAIX,KAAK,CAACf,KAAK,CAAC0B,YAAoB;;QAGvF,IAAIX,KAAK,CAACf,KAAK,CAAC2B,aAAa,IAAI1B,OAAO,CAAC2B,kBAAkB,EAAE;UACzDnB,uBAAuB,CAACM,KAAK,CAACf,KAAK,CAACkB,QAAkB,CAAC,GAAG,KAAK;;QAGnE,IAAIH,KAAK,CAACf,KAAK,CAAC6B,IAAI,KAAKC,SAAS,EAAE;UAChCpB,cAAc,CAACqB,IAAI,CAAC;YAChBC,EAAE,EAAEjB,KAAK,CAACf,KAAK,CAACkB,QAAkB;YAClCe,IAAI,EAAElB,KAAK,CAACf,KAAK,CAAC6B,IAAI,KAAK;WAC9B,CAAC;;QAGNtB,OAAO,CAACwB,IAAI,CAAC;UACTG,WAAW,EAAEnB,KAAK,CAACf,KAAK,CAACkB,QAAQ;UACjCc,EAAE,EAAEjB,KAAK,CAACf,KAAK,CAACkB,QAAkB;UAClCiB,MAAM,EAAEC,MAAM;UACdC,IAAI,EAAEC,IAAI;UACVC,MAAM,EAAEC,MAAM;;UAEdC,OAAO,EAAEC,eAAe;UACxBC,cAAc,GAAAxB,qBAAA,GAAEJ,KAAK,CAACf,KAAK,CAAC2C,cAAc,cAAAxB,qBAAA,cAAAA,qBAAA,GAAI,IAAI;;UAElDyB,kBAAkB,GAAAxB,qBAAA,GAAEL,KAAK,CAACf,KAAK,CAAC6C,eAAe,cAAAzB,qBAAA,cAAAA,qBAAA,GAAI,IAAI;UACvD0B,QAAQ,EAAE,YAAmB;;UAE7BC,aAAa,GAAA1B,qBAAA,GAAEN,KAAK,CAACf,KAAK,CAAC+C,aAAa,cAAA1B,qBAAA,cAAAA,qBAAA,GAAI,IAAI;UAChD2B,SAAS,EAAExD,YAAY,CAAQuB,KAAK,CAACf,KAAK,CAACP,QAAQ,EAAEsB,KAAK,CAACf,KAAK,CAACiD,MAAM,CAAC;UACxEC,aAAa,EAAE,KAAK;UACpBC,aAAa,EAAE,CAAC;;UAEhBC,YAAY,GAAA9B,qBAAA,GAAEP,KAAK,CAACf,KAAK,CAACoD,YAAY,cAAA9B,qBAAA,cAAAA,qBAAA,GAAI,IAAI;;UAE9C+B,IAAI,EAAE;YACFC,KAAK,EAAEvC,KAAK,CAACf,KAAK,CAACsD,KAAK;YACxBC,SAAS,EAAExC,KAAK,CAACf,KAAK,CAACuD,SAAS;YAChCC,OAAO,EAAEzC,KAAK,CAACf,KAAK,CAACwD,OAAO;YAC5B/D,QAAQ,EAAEsB,KAAK,CAACf,KAAK,CAACP,QAAQ;YAC9BgE,cAAc,GAAAlC,qBAAA,GAAER,KAAK,CAACf,KAAK,CAACyD,cAAc,cAAAlC,qBAAA,cAAAA,qBAAA,GAAI,IAAI;YAClDmC,YAAY,GAAAlC,qBAAA,GAAET,KAAK,CAACf,KAAK,CAAC0D,YAAY,cAAAlC,qBAAA,cAAAA,qBAAA,GAAI,IAAI;YAC9CmC,cAAc,GAAAlC,qBAAA,GAAEV,KAAK,CAACf,KAAK,CAAC2D,cAAc,cAAAlC,qBAAA,cAAAA,qBAAA,GAAI,KAAK;YACnDmC,OAAO,EAAE7C,KAAK,CAACf,KAAK,CAAC4D,OAAO;YAC5BrB,MAAM,EAAExB,KAAK,CAACf,KAAK,CAACuC,MAAM;YAC1BJ,MAAM,EAAEpB,KAAK,CAACf,KAAK,CAACmC,MAAM;YAC1B0B,eAAe,EAAE9C,KAAK,CAACf,KAAK,CAAC6D,eAAe;YAC5CC,IAAI,EAAE/C,KAAK,CAACf,KAAK,CAAC8D,IAAI;YACtBC,QAAQ,EAAEhD,KAAK,CAACf,KAAK,CAAC+D,QAAQ;YAC9BC,OAAO,EAAEjD,KAAK,CAACf,KAAK,CAACgE;;SAE5B,CAAC;;KAET,CAAC;IAEN,IAAI/D,OAAO,CAACgE,kBAAkB,IAAIjE,KAAK,CAACkE,mBAAmB,EAAE;MACzD3D,OAAO,CAAC4D,OAAO,CAAC9D,YAAY,CAAC+D,OAAO,CAACC,wBAAwB,CAACrE,KAAK,CAACkE,mBAAmB,CAAC,CAAC,CAAC;;IAG9F,IAAIjE,OAAO,CAACqE,kBAAkB,EAAE;MAC5B/D,OAAO,CAAC4D,OAAO,CACX9D,YAAY,CAAC+D,OAAO,CAChBG,wBAAwB,CAAQ,CAAC,EAAEtE,OAAO,CAACuE,aAAa,IAAIxE,KAAK,CAACyE,SAAS,CAAC,EAAE,CAAC,CAACzE,KAAK,CAACkE,mBAAmB,CAAC,CAC7G,CACJ;;IAGL,IAAIjE,OAAO,CAACuE,aAAa,IAAIxE,KAAK,CAACyE,SAAS,EAAE;MAC1ClE,OAAO,CAAC4D,OAAO,CAAC9D,YAAY,CAAC+D,OAAO,CAACM,mBAAmB,CAAC1E,KAAK,CAACyE,SAAS,CAAC,CAAC,CAAC;;IAG/E,KAAAE,oBAAA,GAAI3E,KAAK,CAAC4E,aAAa,cAAAD,oBAAA,eAAnBA,oBAAA,CAAqBE,MAAM,EAAE;MAC7BtE,OAAO,CAACwB,IAAI,CAAC1B,YAAY,CAAC+D,OAAO,CAACU,sBAAsB,EAAS,CAAC,CAAC;;IAGvE,IAAI5E,OAAO,CAAC6E,SAAS,IAAI7E,OAAO,CAAC8E,SAAS,EAAE;MACxCzE,OAAO,CAACwB,IAAI,CAAC1B,YAAY,CAAC+D,OAAO,CAACa,6BAA6B,EAAS,CAAC,CAAC;;IAG9E,OAAO;MAAE1E,OAAO;MAAEC,mBAAmB;MAAEC,uBAAuB;MAAEC;KAAgB;GACnF,EAAE,EAAE,CAAC;AACV;;;;"}
@@ -20,6 +20,8 @@ const useCssGrid = table => {
20
20
  if (column.id === COLUMN_ID) {
21
21
  size = 'minmax(max-content, auto)';
22
22
  } else {
23
+ // getSize method is used instead of columnSizing state because columnSizing state doesn't have
24
+ // sizes of internal columns.
23
25
  size = `${column.getSize()}px`;
24
26
  }
25
27
  } else if (width !== undefined) {
@@ -1 +1 @@
1
- {"version":3,"file":"useCssGrid.js","sources":["../../../../../../../../src/components/Table3/hooks/useCssGrid.ts"],"sourcesContent":["import React from 'react';\nimport { Table as RTable } from '@tanstack/react-table';\nimport { isInternalColumn } from '../util/columns';\nimport { MIN_COLUMN_SIZE } from '../components/columns/styles';\nimport { COLUMN_ID as ACTIONS_COLUMN_ID } from '../components/columns/internal/Actions';\n\nexport const useCssGrid = <TType = unknown>(table: RTable<TType>) => {\n const allVisibleColumns = table.getVisibleLeafColumns();\n const columnSizing = table.getState().columnSizing;\n const rowsLength = table.getRowModel().rows.length;\n const expandedRowsLength = Object.keys(table.getState().expanded).length;\n const length = rowsLength + expandedRowsLength;\n\n const gridTemplateColumns = React.useMemo(() => {\n return allVisibleColumns.reduce((accum, column, index) => {\n let size;\n const isLastColumn = index === allVisibleColumns.length - 1;\n // column has a getSize function, but it always returns a default value (150), and we want the\n // first render to use auto layout - so we get the size directly from table state where it is undefined\n const width = columnSizing[column.id] as number | '1fr';\n\n if (isInternalColumn(column.id)) {\n if (column.id === ACTIONS_COLUMN_ID) {\n size = 'minmax(max-content, auto)';\n } else {\n size = `${column.getSize()}px`;\n }\n } else if (width !== undefined) {\n if (width === '1fr') {\n size = 'minmax(max-content, 1fr)';\n } else if (isLastColumn) {\n size = `minmax(${width}px, auto)`;\n } else if (width < MIN_COLUMN_SIZE) {\n // the react-table getResizeHandler function does not respect the minSize property on columns, it is possible\n // to go below the minSize - so we have to prevent it entirely on the grid layout\n size = `${MIN_COLUMN_SIZE}px`;\n } else {\n size = `${width}px`;\n }\n } else {\n size = 'minmax(max-content, auto)';\n }\n\n return `${accum} ${size}`.trim();\n }, '');\n }, [allVisibleColumns, columnSizing]);\n\n const gridTemplateRows = React.useMemo(() => {\n // 1fr makes sure that there is always a free space between the rows and footer when table height exceeds the\n // cumulative height of all rows\n return `min-content repeat(${length}, min-content) 1fr min-content`;\n }, [length]);\n\n const style: React.CSSProperties = {\n gridTemplateColumns,\n gridTemplateRows,\n };\n\n return { style };\n};\n"],"names":["useCssGrid","table","allVisibleColumns","getVisibleLeafColumns","columnSizing","getState","rowsLength","getRowModel","rows","length","expandedRowsLength","Object","keys","expanded","gridTemplateColumns","React","useMemo","reduce","accum","column","index","size","isLastColumn","width","id","isInternalColumn","ACTIONS_COLUMN_ID","getSize","undefined","MIN_COLUMN_SIZE","trim","gridTemplateRows","style"],"mappings":";;;;;MAMaA,UAAU,GAAqBC,KAAoB;EAC5D,MAAMC,iBAAiB,GAAGD,KAAK,CAACE,qBAAqB,EAAE;EACvD,MAAMC,YAAY,GAAGH,KAAK,CAACI,QAAQ,EAAE,CAACD,YAAY;EAClD,MAAME,UAAU,GAAGL,KAAK,CAACM,WAAW,EAAE,CAACC,IAAI,CAACC,MAAM;EAClD,MAAMC,kBAAkB,GAAGC,MAAM,CAACC,IAAI,CAACX,KAAK,CAACI,QAAQ,EAAE,CAACQ,QAAQ,CAAC,CAACJ,MAAM;EACxE,MAAMA,MAAM,GAAGH,UAAU,GAAGI,kBAAkB;EAE9C,MAAMI,mBAAmB,GAAGC,cAAK,CAACC,OAAO,CAAC;IACtC,OAAOd,iBAAiB,CAACe,MAAM,CAAC,CAACC,KAAK,EAAEC,MAAM,EAAEC,KAAK;MACjD,IAAIC,IAAI;MACR,MAAMC,YAAY,GAAGF,KAAK,KAAKlB,iBAAiB,CAACO,MAAM,GAAG,CAAC;;;MAG3D,MAAMc,KAAK,GAAGnB,YAAY,CAACe,MAAM,CAACK,EAAE,CAAmB;MAEvD,IAAIC,gBAAgB,CAACN,MAAM,CAACK,EAAE,CAAC,EAAE;QAC7B,IAAIL,MAAM,CAACK,EAAE,KAAKE,SAAiB,EAAE;UACjCL,IAAI,GAAG,2BAA2B;SACrC,MAAM;UACHA,IAAI,MAAMF,MAAM,CAACQ,OAAO,MAAM;;OAErC,MAAM,IAAIJ,KAAK,KAAKK,SAAS,EAAE;QAC5B,IAAIL,KAAK,KAAK,KAAK,EAAE;UACjBF,IAAI,GAAG,0BAA0B;SACpC,MAAM,IAAIC,YAAY,EAAE;UACrBD,IAAI,aAAaE,gBAAgB;SACpC,MAAM,IAAIA,KAAK,GAAGM,eAAe,EAAE;;;UAGhCR,IAAI,MAAMQ,mBAAmB;SAChC,MAAM;UACHR,IAAI,MAAME,SAAS;;OAE1B,MAAM;QACHF,IAAI,GAAG,2BAA2B;;MAGtC,UAAUH,SAASG,MAAM,CAACS,IAAI,EAAE;KACnC,EAAE,EAAE,CAAC;GACT,EAAE,CAAC5B,iBAAiB,EAAEE,YAAY,CAAC,CAAC;EAErC,MAAM2B,gBAAgB,GAAGhB,cAAK,CAACC,OAAO,CAAC;;;IAGnC,6BAA6BP,sCAAsC;GACtE,EAAE,CAACA,MAAM,CAAC,CAAC;EAEZ,MAAMuB,KAAK,GAAwB;IAC/BlB,mBAAmB;IACnBiB;GACH;EAED,OAAO;IAAEC;GAAO;AACpB;;;;"}
1
+ {"version":3,"file":"useCssGrid.js","sources":["../../../../../../../../src/components/Table3/hooks/useCssGrid.ts"],"sourcesContent":["import React from 'react';\nimport { Table as RTable } from '@tanstack/react-table';\nimport { isInternalColumn } from '../util/columns';\nimport { MIN_COLUMN_SIZE } from '../components/columns/styles';\nimport { COLUMN_ID as ACTIONS_COLUMN_ID } from '../components/columns/internal/Actions';\n\nexport const useCssGrid = <TType = unknown>(table: RTable<TType>) => {\n const allVisibleColumns = table.getVisibleLeafColumns();\n const columnSizing = table.getState().columnSizing;\n const rowsLength = table.getRowModel().rows.length;\n const expandedRowsLength = Object.keys(table.getState().expanded).length;\n const length = rowsLength + expandedRowsLength;\n\n const gridTemplateColumns = React.useMemo(() => {\n return allVisibleColumns.reduce((accum, column, index) => {\n let size;\n const isLastColumn = index === allVisibleColumns.length - 1;\n // column has a getSize function, but it always returns a default value (150), and we want the\n // first render to use auto layout - so we get the size directly from table state where it is undefined\n const width = columnSizing[column.id] as number | '1fr';\n\n if (isInternalColumn(column.id)) {\n if (column.id === ACTIONS_COLUMN_ID) {\n size = 'minmax(max-content, auto)';\n } else {\n // getSize method is used instead of columnSizing state because columnSizing state doesn't have\n // sizes of internal columns.\n size = `${column.getSize()}px`;\n }\n } else if (width !== undefined) {\n if (width === '1fr') {\n size = 'minmax(max-content, 1fr)';\n } else if (isLastColumn) {\n size = `minmax(${width}px, auto)`;\n } else if (width < MIN_COLUMN_SIZE) {\n // the react-table getResizeHandler function does not respect the minSize property on columns, it is possible\n // to go below the minSize - so we have to prevent it entirely on the grid layout\n size = `${MIN_COLUMN_SIZE}px`;\n } else {\n size = `${width}px`;\n }\n } else {\n size = 'minmax(max-content, auto)';\n }\n\n return `${accum} ${size}`.trim();\n }, '');\n }, [allVisibleColumns, columnSizing]);\n\n const gridTemplateRows = React.useMemo(() => {\n // 1fr makes sure that there is always a free space between the rows and footer when table height exceeds the\n // cumulative height of all rows\n return `min-content repeat(${length}, min-content) 1fr min-content`;\n }, [length]);\n\n const style: React.CSSProperties = {\n gridTemplateColumns,\n gridTemplateRows,\n };\n\n return { style };\n};\n"],"names":["useCssGrid","table","allVisibleColumns","getVisibleLeafColumns","columnSizing","getState","rowsLength","getRowModel","rows","length","expandedRowsLength","Object","keys","expanded","gridTemplateColumns","React","useMemo","reduce","accum","column","index","size","isLastColumn","width","id","isInternalColumn","ACTIONS_COLUMN_ID","getSize","undefined","MIN_COLUMN_SIZE","trim","gridTemplateRows","style"],"mappings":";;;;;MAMaA,UAAU,GAAqBC,KAAoB;EAC5D,MAAMC,iBAAiB,GAAGD,KAAK,CAACE,qBAAqB,EAAE;EACvD,MAAMC,YAAY,GAAGH,KAAK,CAACI,QAAQ,EAAE,CAACD,YAAY;EAClD,MAAME,UAAU,GAAGL,KAAK,CAACM,WAAW,EAAE,CAACC,IAAI,CAACC,MAAM;EAClD,MAAMC,kBAAkB,GAAGC,MAAM,CAACC,IAAI,CAACX,KAAK,CAACI,QAAQ,EAAE,CAACQ,QAAQ,CAAC,CAACJ,MAAM;EACxE,MAAMA,MAAM,GAAGH,UAAU,GAAGI,kBAAkB;EAE9C,MAAMI,mBAAmB,GAAGC,cAAK,CAACC,OAAO,CAAC;IACtC,OAAOd,iBAAiB,CAACe,MAAM,CAAC,CAACC,KAAK,EAAEC,MAAM,EAAEC,KAAK;MACjD,IAAIC,IAAI;MACR,MAAMC,YAAY,GAAGF,KAAK,KAAKlB,iBAAiB,CAACO,MAAM,GAAG,CAAC;;;MAG3D,MAAMc,KAAK,GAAGnB,YAAY,CAACe,MAAM,CAACK,EAAE,CAAmB;MAEvD,IAAIC,gBAAgB,CAACN,MAAM,CAACK,EAAE,CAAC,EAAE;QAC7B,IAAIL,MAAM,CAACK,EAAE,KAAKE,SAAiB,EAAE;UACjCL,IAAI,GAAG,2BAA2B;SACrC,MAAM;;;UAGHA,IAAI,MAAMF,MAAM,CAACQ,OAAO,MAAM;;OAErC,MAAM,IAAIJ,KAAK,KAAKK,SAAS,EAAE;QAC5B,IAAIL,KAAK,KAAK,KAAK,EAAE;UACjBF,IAAI,GAAG,0BAA0B;SACpC,MAAM,IAAIC,YAAY,EAAE;UACrBD,IAAI,aAAaE,gBAAgB;SACpC,MAAM,IAAIA,KAAK,GAAGM,eAAe,EAAE;;;UAGhCR,IAAI,MAAMQ,mBAAmB;SAChC,MAAM;UACHR,IAAI,MAAME,SAAS;;OAE1B,MAAM;QACHF,IAAI,GAAG,2BAA2B;;MAGtC,UAAUH,SAASG,MAAM,CAACS,IAAI,EAAE;KACnC,EAAE,EAAE,CAAC;GACT,EAAE,CAAC5B,iBAAiB,EAAEE,YAAY,CAAC,CAAC;EAErC,MAAM2B,gBAAgB,GAAGhB,cAAK,CAACC,OAAO,CAAC;;;IAGnC,6BAA6BP,sCAAsC;GACtE,EAAE,CAACA,MAAM,CAAC,CAAC;EAEZ,MAAMuB,KAAK,GAAwB;IAC/BlB,mBAAmB;IACnBiB;GACH;EAED,OAAO;IAAEC;GAAO;AACpB;;;;"}
@@ -2,6 +2,9 @@ import React__default from 'react';
2
2
 
3
3
  const useLocalStorage = (key, initialValue) => {
4
4
  const [state, setState] = React__default.useState(() => {
5
+ if (!key) {
6
+ return initialValue;
7
+ }
5
8
  try {
6
9
  const localStorageValue = localStorage.getItem(key);
7
10
  if (typeof localStorageValue !== 'string') {
@@ -18,6 +21,9 @@ const useLocalStorage = (key, initialValue) => {
18
21
  }
19
22
  });
20
23
  React__default.useEffect(() => {
24
+ if (!key) {
25
+ return;
26
+ }
21
27
  try {
22
28
  const serializedState = JSON.stringify(state);
23
29
  localStorage.setItem(key, serializedState);
@@ -26,7 +32,11 @@ const useLocalStorage = (key, initialValue) => {
26
32
  // localStorage can throw. Also JSON.stringify can throw.
27
33
  }
28
34
  }, [key, state]);
29
- const clear = () => localStorage.removeItem(key);
35
+ const clear = () => {
36
+ if (key) {
37
+ localStorage.removeItem(key);
38
+ }
39
+ };
30
40
  return [state, setState, clear];
31
41
  };
32
42
 
@@ -1 +1 @@
1
- {"version":3,"file":"useLocalStorage.js","sources":["../../../../../../src/hooks/useLocalStorage.ts"],"sourcesContent":["import React from 'react';\n\nexport const useLocalStorage = <TType>(key: string, initialValue?: TType): [TType, (value: TType) => void, () => void] => {\n const [state, setState] = React.useState<TType>(() => {\n try {\n const localStorageValue = localStorage.getItem(key);\n\n if (typeof localStorageValue !== 'string') {\n localStorage.setItem(key, JSON.stringify(initialValue));\n return initialValue;\n } else {\n return JSON.parse(localStorageValue || 'null');\n }\n } catch {\n // If user is in private mode or has storage restriction\n // localStorage can throw. JSON.parse and JSON.stringify\n // can throw, too.\n return initialValue;\n }\n });\n\n React.useEffect(() => {\n try {\n const serializedState = JSON.stringify(state);\n localStorage.setItem(key, serializedState);\n } catch {\n // If user is in private mode or has storage restriction\n // localStorage can throw. Also JSON.stringify can throw.\n }\n }, [key, state]);\n\n const clear = () => localStorage.removeItem(key);\n\n return [state, setState, clear];\n};\n"],"names":["useLocalStorage","key","initialValue","state","setState","React","useState","localStorageValue","localStorage","getItem","setItem","JSON","stringify","parse","useEffect","serializedState","clear","removeItem"],"mappings":";;MAEaA,eAAe,GAAGA,CAAQC,GAAW,EAAEC,YAAoB;EACpE,MAAM,CAACC,KAAK,EAAEC,QAAQ,CAAC,GAAGC,cAAK,CAACC,QAAQ,CAAQ;IAC5C,IAAI;MACA,MAAMC,iBAAiB,GAAGC,YAAY,CAACC,OAAO,CAACR,GAAG,CAAC;MAEnD,IAAI,OAAOM,iBAAiB,KAAK,QAAQ,EAAE;QACvCC,YAAY,CAACE,OAAO,CAACT,GAAG,EAAEU,IAAI,CAACC,SAAS,CAACV,YAAY,CAAC,CAAC;QACvD,OAAOA,YAAY;OACtB,MAAM;QACH,OAAOS,IAAI,CAACE,KAAK,CAACN,iBAAiB,IAAI,MAAM,CAAC;;KAErD,CAAC,MAAM;;;;MAIJ,OAAOL,YAAY;;GAE1B,CAAC;EAEFG,cAAK,CAACS,SAAS,CAAC;IACZ,IAAI;MACA,MAAMC,eAAe,GAAGJ,IAAI,CAACC,SAAS,CAACT,KAAK,CAAC;MAC7CK,YAAY,CAACE,OAAO,CAACT,GAAG,EAAEc,eAAe,CAAC;KAC7C,CAAC,MAAM;;;;GAIX,EAAE,CAACd,GAAG,EAAEE,KAAK,CAAC,CAAC;EAEhB,MAAMa,KAAK,GAAGA,MAAMR,YAAY,CAACS,UAAU,CAAChB,GAAG,CAAC;EAEhD,OAAO,CAACE,KAAK,EAAEC,QAAQ,EAAEY,KAAK,CAAC;AACnC;;;;"}
1
+ {"version":3,"file":"useLocalStorage.js","sources":["../../../../../../src/hooks/useLocalStorage.ts"],"sourcesContent":["import React from 'react';\n\nexport const useLocalStorage = <TType>(key?: string, initialValue?: TType): [TType, (value: TType) => void, () => void] => {\n const [state, setState] = React.useState<TType>(() => {\n if (!key) {\n return initialValue;\n }\n\n try {\n const localStorageValue = localStorage.getItem(key);\n\n if (typeof localStorageValue !== 'string') {\n localStorage.setItem(key, JSON.stringify(initialValue));\n return initialValue;\n } else {\n return JSON.parse(localStorageValue || 'null');\n }\n } catch {\n // If user is in private mode or has storage restriction\n // localStorage can throw. JSON.parse and JSON.stringify\n // can throw, too.\n return initialValue;\n }\n });\n\n React.useEffect(() => {\n if (!key) {\n return;\n }\n\n try {\n const serializedState = JSON.stringify(state);\n localStorage.setItem(key, serializedState);\n } catch {\n // If user is in private mode or has storage restriction\n // localStorage can throw. Also JSON.stringify can throw.\n }\n }, [key, state]);\n\n const clear = () => {\n if (key) {\n localStorage.removeItem(key);\n }\n };\n\n return [state, setState, clear];\n};\n"],"names":["useLocalStorage","key","initialValue","state","setState","React","useState","localStorageValue","localStorage","getItem","setItem","JSON","stringify","parse","useEffect","serializedState","clear","removeItem"],"mappings":";;MAEaA,eAAe,GAAGA,CAAQC,GAAY,EAAEC,YAAoB;EACrE,MAAM,CAACC,KAAK,EAAEC,QAAQ,CAAC,GAAGC,cAAK,CAACC,QAAQ,CAAQ;IAC5C,IAAI,CAACL,GAAG,EAAE;MACN,OAAOC,YAAY;;IAGvB,IAAI;MACA,MAAMK,iBAAiB,GAAGC,YAAY,CAACC,OAAO,CAACR,GAAG,CAAC;MAEnD,IAAI,OAAOM,iBAAiB,KAAK,QAAQ,EAAE;QACvCC,YAAY,CAACE,OAAO,CAACT,GAAG,EAAEU,IAAI,CAACC,SAAS,CAACV,YAAY,CAAC,CAAC;QACvD,OAAOA,YAAY;OACtB,MAAM;QACH,OAAOS,IAAI,CAACE,KAAK,CAACN,iBAAiB,IAAI,MAAM,CAAC;;KAErD,CAAC,MAAM;;;;MAIJ,OAAOL,YAAY;;GAE1B,CAAC;EAEFG,cAAK,CAACS,SAAS,CAAC;IACZ,IAAI,CAACb,GAAG,EAAE;MACN;;IAGJ,IAAI;MACA,MAAMc,eAAe,GAAGJ,IAAI,CAACC,SAAS,CAACT,KAAK,CAAC;MAC7CK,YAAY,CAACE,OAAO,CAACT,GAAG,EAAEc,eAAe,CAAC;KAC7C,CAAC,MAAM;;;;GAIX,EAAE,CAACd,GAAG,EAAEE,KAAK,CAAC,CAAC;EAEhB,MAAMa,KAAK,GAAGA;IACV,IAAIf,GAAG,EAAE;MACLO,YAAY,CAACS,UAAU,CAAChB,GAAG,CAAC;;GAEnC;EAED,OAAO,CAACE,KAAK,EAAEC,QAAQ,EAAEY,KAAK,CAAC;AACnC;;;;"}
@@ -64,10 +64,10 @@ export { insertChildTableRow, removeChildTableRow, useTableRowCreation } from '.
64
64
  export { useBoundaryOverflowDetection } from './hooks/useBoundaryOverflowDetection.js';
65
65
  export { Table2 } from './components/Table2/Table2.js';
66
66
  export { useLazyEffect } from './hooks/useLazyEffect.js';
67
+ export { Textarea } from './components/Textarea/Textarea.js';
67
68
  export { useTable3DataLoader } from './components/Table3/hooks/useTableDataLoader.js';
68
69
  export { Table3, fixedForwardRef } from './components/Table3/Table3.js';
69
70
  export { Tabs } from './components/Tabs/Tabs.js';
70
- export { Textarea } from './components/Textarea/Textarea.js';
71
71
  export { Tour, TourStep } from './components/Tour/Tour.js';
72
72
  export { useMatchMedia } from './hooks/useMatchMedia.js';
73
73
  export { Header } from './components/Header/Header.js';
@@ -1 +1 @@
1
- export declare const useLocalStorage: <TType>(key: string, initialValue?: TType | undefined) => [TType, (value: TType) => void, () => void];
1
+ export declare const useLocalStorage: <TType>(key?: string | undefined, initialValue?: TType | undefined) => [TType, (value: TType) => void, () => void];
package/dist/index.css CHANGED
@@ -641,7 +641,7 @@
641
641
  /* cells */
642
642
  [role='cell'],
643
643
  [role='columnheader'] {
644
- @apply border-grey-300 bg-white;
644
+ @apply border-grey-300;
645
645
  }
646
646
 
647
647
  [role='cell']:not([data-highlighted='true']),
@@ -668,36 +668,99 @@
668
668
  @apply border-b;
669
669
  }
670
670
 
671
- /* hovered row */
672
- [data-pause-hover='false'] [data-taco='table2-body'] [role='row']:hover [role='cell'] {
673
- @apply bg-grey-100;
674
- }
671
+ /* row/cell backgrounds */
675
672
 
676
- /* dragged over row */
677
- [data-pause-hover='false'] [data-taco='table2-body'] [role='row'][data-dragged-over='true'] [role='cell'] {
678
- @apply bg-grey-100;
673
+ [role='columnheader'] {
674
+ @apply bg-white;
679
675
  }
680
676
 
681
- /* current row */
682
- [data-taco='table2-body'] [role='row'][data-current='true'] [role='cell'] {
683
- @apply bg-grey-200;
684
- }
677
+ /* normal rows */
678
+ [role='row']:not([data-selected='true']):not([data-error='true']) [role='cell'] {
679
+ @apply bg-white;
680
+ }
681
+ [role='row']:not([data-selected='true']):not([data-error='true']):hover [role='cell'] {
682
+ --table3-row-actions-shadow: theme(colors.grey.100);
683
+ @apply bg-grey-100;
684
+ }
685
+ [role='row']:not([data-selected='true']):not([data-error='true'])[data-current='true'] [role='cell'] {
686
+ --table3-row-actions-shadow: theme(colors.grey.200);
687
+ @apply bg-grey-200;
688
+ }
689
+ [role='row']:not([data-selected='true']):not([data-error='true'])[data-current='true']:hover [role='cell'] {
690
+ --table3-row-actions-shadow: theme(colors.grey.100);
691
+ @apply bg-grey-100;
692
+ }
693
+ /* normal rows when hover is paused */
694
+ [data-pause-hover='true'] [role='row']:not([data-selected='true']):not([data-error='true']):hover:not([data-current='true']) [role='cell'] {
695
+ --table3-row-actions-shadow: theme(colors.white);
696
+ @apply !bg-white;
697
+ }
698
+ [data-pause-hover='true'] [role='row']:not([data-selected='true']):not([data-error='true']):hover[data-current='true'] [role='cell'] {
699
+ --table3-row-actions-shadow: theme(colors.grey.200);
700
+ @apply !bg-grey-200;
701
+ }
685
702
 
686
- /* selected row */
687
- [data-taco='table2-body'] [role='row'][data-selected='true']:not([aria-grabbed='true']) [role='cell'] {
688
- @apply !bg-blue-100;
689
- }
703
+ /* selected rows */
704
+ [role='row'][data-selected='true']:not([data-error='true']) [role='cell'] {
705
+ @apply bg-blue-100;
706
+ }
707
+ [role='row'][data-selected='true']:not([data-error='true']):hover [role='cell'] {
708
+ --table3-row-actions-shadow: #d6e3f6;
709
+ @apply bg-[#D6E3F6];
710
+ }
711
+ [role='row'][data-selected='true']:not([data-error='true'])[data-current='true'] [role='cell'] {
712
+ --table3-row-actions-shadow: #ccd8eb;
713
+ @apply bg-[#CCD8EB];
714
+ }
715
+ [role='row'][data-selected='true']:not([data-error='true'])[data-current='true']:hover [role='cell'] {
716
+ --table3-row-actions-shadow: #d6e3f6;
717
+ @apply bg-[#D6E3F6];
718
+ }
719
+ /* selected rows when hover is paused */
720
+ [data-pause-hover='true'] [role='row'][data-selected='true']:not([data-error='true']):hover:not([data-current='true']) [role='cell'] {
721
+ --table3-row-actions-shadow: theme(colors.blue.100);
722
+ @apply !bg-blue-100;
723
+ }
724
+ [data-pause-hover='true'] [role='row'][data-selected='true']:not([data-error='true']):hover[data-current='true'] [role='cell'] {
725
+ --table3-row-actions-shadow: #ccd8eb;
726
+ @apply !bg-[#CCD8EB];
727
+ }
728
+
729
+ /* error rows */
730
+ [role='row'][data-error='true'] [role='cell'] {
731
+ @apply bg-[#FFEDE9];
732
+ }
733
+ [role='row'][data-error='true']:hover [role='cell'] {
734
+ --table3-row-actions-shadow: #ffe4de;
735
+ @apply bg-[#FFE4DE];
736
+ }
737
+ [role='row'][data-error='true'][data-current='true'] [role='cell'] {
738
+ --table3-row-actions-shadow: theme(colors.red.100);
739
+ @apply bg-red-100;
740
+ }
741
+ [role='row'][data-error='true'][data-current='true']:hover [role='cell'] {
742
+ --table3-row-actions-shadow: #ffe4de;
743
+ @apply bg-[#FFE4DE];
744
+ }
745
+ /* error rows when hover is paused */
746
+ [data-pause-hover='true'] [role='row'][data-error='true']:hover:not([data-current='true']) [role='cell'] {
747
+ --table3-row-actions-shadow: #ffede9;
748
+ @apply !bg-[#FFEDE9];
749
+ }
750
+ [data-pause-hover='true'] [role='row'][data-error='true']:hover[data-current='true'] [role='cell'] {
751
+ --table3-row-actions-shadow: theme(colors.red.100);
752
+ @apply !bg-red-100;
753
+ }
690
754
 
755
+ /* dragged over row */
756
+ [role='row'][data-dragged-over='true'] [role='cell'] {
757
+ @apply !bg-grey-100;
758
+ }
691
759
  /* dragging row */
692
- [data-taco='table2-body'] [role='row'][aria-grabbed='true'] [role='cell'] {
760
+ [role='row'][aria-grabbed='true'] [role='cell'] {
693
761
  @apply !wcag-blue-500;
694
762
  }
695
763
 
696
- /* error row */
697
- [data-taco='table2-body'] [role='row'][data-error='true'] [role='cell'] {
698
- @apply !bg-red-100/30;
699
- }
700
-
701
764
  /* cell component overrides */
702
765
 
703
766
  /* small font size */
@@ -15,6 +15,6 @@ export declare const Root: React.ForwardRefExoticComponent<React.HTMLAttributes<
15
15
  multiple?: boolean | undefined;
16
16
  readOnly?: boolean | undefined;
17
17
  setValue: (value: Listbox2Value) => void;
18
- value?: string | number | import("../types").Listbox2OptionValue[] | null | undefined;
18
+ value?: string | number | boolean | import("../types").Listbox2OptionValue[] | null | undefined;
19
19
  } & React.RefAttributes<CollectionPrimitive.CollectionRef>>;
20
20
  export declare const createListboxValueSetter: (multiple: boolean, setValue: React.Dispatch<React.SetStateAction<Listbox2Value | undefined>>) => (nextValue: Listbox2Value) => void;
@@ -1,2 +1,2 @@
1
- export declare type Listbox2OptionValue = string | number | null;
1
+ export declare type Listbox2OptionValue = string | number | null | boolean;
2
2
  export declare type Listbox2Value = Listbox2OptionValue | Listbox2OptionValue[];