@economic/taco 2.5.0 → 2.7.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 (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":";;;;;;;;;;;;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;;EAEtC,MAAMC,YAAY,GAAGC,kBAAkB,EAAS;EAEhD,MAAMC,OAAO,GAAuB,EAAE;EACtC,MAAMC,mBAAmB,GAAsB,EAAE;EACjD,MAAMC,uBAAuB,GAAoB,EAAE;EACnD,MAAMC,cAAc,GAAiB,EAAE;EAEtCC,cAAK,CAACC,QAAQ,CAACC,OAAO,CAACX,KAAK,CAACY,QAAQ,CAAoD,CACrFC,MAAM,CAACC,KAAK,IAAI,CAAC,CAACA,KAAK,CAAC;GACxBC,OAAO,CAACD,KAAK;IACV,kBAAIL,cAAK,CAACO,cAAc,CAA2BF,KAAK,CAAC,IAAIA,KAAK,CAACd,KAAK,CAACiB,QAAQ,EAAE;MAAA,IAAAC,qBAAA,EAAAC,qBAAA,EAAAC,qBAAA,EAAAC,qBAAA,EAAAC,qBAAA,EAAAC,qBAAA,EAAAC,qBAAA;MAC/E,IAAIV,KAAK,CAACd,KAAK,CAACyB,YAAY,EAAE;QAC1BnB,mBAAmB,CAACQ,KAAK,CAACd,KAAK,CAACiB,QAAkB,CAAC,GAC/CH,KAAK,CAACd,KAAK,CAACyB,YAAY,KAAK,MAAM,GAAG,KAAK,GAAIX,KAAK,CAACd,KAAK,CAACyB,YAAoB;;MAGvF,IAAIX,KAAK,CAACd,KAAK,CAAC0B,aAAa,IAAIzB,OAAO,CAAC0B,kBAAkB,EAAE;QACzDpB,uBAAuB,CAACO,KAAK,CAACd,KAAK,CAACiB,QAAkB,CAAC,GAAG,KAAK;;MAGnE,IAAIH,KAAK,CAACd,KAAK,CAAC4B,IAAI,KAAKC,SAAS,EAAE;QAChCrB,cAAc,CAACsB,IAAI,CAAC;UAChBC,EAAE,EAAEjB,KAAK,CAACd,KAAK,CAACiB,QAAkB;UAClCe,IAAI,EAAElB,KAAK,CAACd,KAAK,CAAC4B,IAAI,KAAK;SAC9B,CAAC;;MAGNvB,OAAO,CAACyB,IAAI,CAAC;QACTG,WAAW,EAAEnB,KAAK,CAACd,KAAK,CAACiB,QAAQ;QACjCc,EAAE,EAAEjB,KAAK,CAACd,KAAK,CAACiB,QAAkB;QAClCiB,MAAM,EAAEC,MAAM;QACdC,IAAI,EAAEC,IAAI;QACVC,MAAM,EAAEC,MAAM;;QAEdC,OAAO,EAAEC,eAAe;QACxBC,cAAc,GAAAxB,qBAAA,GAAEJ,KAAK,CAACd,KAAK,CAAC0C,cAAc,cAAAxB,qBAAA,cAAAA,qBAAA,GAAI,IAAI;;QAElDyB,kBAAkB,GAAAxB,qBAAA,GAAEL,KAAK,CAACd,KAAK,CAAC4C,eAAe,cAAAzB,qBAAA,cAAAA,qBAAA,GAAI,IAAI;QACvD0B,QAAQ,EAAE,YAAmB;;QAE7BC,aAAa,GAAA1B,qBAAA,GAAEN,KAAK,CAACd,KAAK,CAAC8C,aAAa,cAAA1B,qBAAA,cAAAA,qBAAA,GAAI,IAAI;QAChD2B,SAAS,EAAEvD,YAAY,CAAQsB,KAAK,CAACd,KAAK,CAACP,QAAQ,EAAEqB,KAAK,CAACd,KAAK,CAACgD,MAAM,CAAC;QACxEC,aAAa,EAAE,KAAK;QACpBC,aAAa,EAAE,CAAC;;QAEhBC,YAAY,GAAA9B,qBAAA,GAAEP,KAAK,CAACd,KAAK,CAACmD,YAAY,cAAA9B,qBAAA,cAAAA,qBAAA,GAAI,IAAI;;QAE9C+B,IAAI,EAAE;UACFC,KAAK,EAAEvC,KAAK,CAACd,KAAK,CAACqD,KAAK;UACxBC,SAAS,EAAExC,KAAK,CAACd,KAAK,CAACsD,SAAS;UAChCC,OAAO,EAAEzC,KAAK,CAACd,KAAK,CAACuD,OAAO;UAC5B9D,QAAQ,EAAEqB,KAAK,CAACd,KAAK,CAACP,QAAQ;UAC9B+D,cAAc,GAAAlC,qBAAA,GAAER,KAAK,CAACd,KAAK,CAACwD,cAAc,cAAAlC,qBAAA,cAAAA,qBAAA,GAAI,IAAI;UAClDmC,YAAY,GAAAlC,qBAAA,GAAET,KAAK,CAACd,KAAK,CAACyD,YAAY,cAAAlC,qBAAA,cAAAA,qBAAA,GAAI,IAAI;UAC9CmC,cAAc,GAAAlC,qBAAA,GAAEV,KAAK,CAACd,KAAK,CAAC0D,cAAc,cAAAlC,qBAAA,cAAAA,qBAAA,GAAI,KAAK;UACnDmC,OAAO,EAAE7C,KAAK,CAACd,KAAK,CAAC2D,OAAO;UAC5BrB,MAAM,EAAExB,KAAK,CAACd,KAAK,CAACsC,MAAM;UAC1BJ,MAAM,EAAEpB,KAAK,CAACd,KAAK,CAACkC,MAAM;UAC1B0B,eAAe,EAAE9C,KAAK,CAACd,KAAK,CAAC4D,eAAe;UAC5CC,IAAI,EAAE/C,KAAK,CAACd,KAAK,CAAC6D,IAAI;UACtBC,QAAQ,EAAEhD,KAAK,CAACd,KAAK,CAAC8D,QAAQ;UAC9BC,OAAO,EAAEjD,KAAK,CAACd,KAAK,CAAC+D;;OAE5B,CAAC;;GAET,CAAC;EAEN,IAAI9D,OAAO,CAAC+D,kBAAkB,IAAIhE,KAAK,CAACiE,mBAAmB,EAAE;IACzD5D,OAAO,CAAC6D,OAAO,CAAC/D,YAAY,CAACgE,OAAO,CAACC,wBAAwB,CAACpE,KAAK,CAACiE,mBAAmB,CAAC,CAAC,CAAC;;EAG9F,IAAIhE,OAAO,CAACoE,kBAAkB,EAAE;IAC5BhE,OAAO,CAAC6D,OAAO,CACX/D,YAAY,CAACgE,OAAO,CAChBG,wBAAwB,CAAQ,CAAC,EAAErE,OAAO,CAACsE,aAAa,IAAIvE,KAAK,CAACwE,SAAS,CAAC,EAAE,CAAC,CAACxE,KAAK,CAACiE,mBAAmB,CAAC,CAC7G,CACJ;;EAGL,IAAIhE,OAAO,CAACsE,aAAa,IAAIvE,KAAK,CAACwE,SAAS,EAAE;IAC1CnE,OAAO,CAAC6D,OAAO,CAAC/D,YAAY,CAACgE,OAAO,CAACM,mBAAmB,CAACzE,KAAK,CAACwE,SAAS,CAAC,CAAC,CAAC;;EAG/E,KAAAE,oBAAA,GAAI1E,KAAK,CAAC2E,aAAa,cAAAD,oBAAA,eAAnBA,oBAAA,CAAqBE,MAAM,EAAE;IAC7BvE,OAAO,CAACyB,IAAI,CAAC3B,YAAY,CAACgE,OAAO,CAACU,sBAAsB,EAAS,CAAC,CAAC;;EAGvE,IAAI3E,OAAO,CAAC4E,SAAS,IAAI5E,OAAO,CAAC6E,SAAS,EAAE;IACxC1E,OAAO,CAACyB,IAAI,CAAC3B,YAAY,CAACgE,OAAO,CAACa,6BAA6B,EAAS,CAAC,CAAC;;EAG9E,OAAO;IAAE3E,OAAO;IAAEC,mBAAmB;IAAEC,uBAAuB;IAAEC;GAAgB;AACpF;;;;"}
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":"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"}
@@ -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[];