@fluentui/react-table 9.8.6 → 9.9.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.json +273 -1
- package/CHANGELOG.md +76 -2
- package/dist/index.d.ts +7 -2
- package/lib/components/DataGrid/useDataGrid.js +2 -2
- package/lib/components/DataGrid/useDataGrid.js.map +1 -1
- package/lib/components/DataGridHeaderCell/DataGridHeaderCell.types.js.map +1 -1
- package/lib/components/DataGridHeaderCell/useDataGridHeaderCell.js +13 -3
- package/lib/components/DataGridHeaderCell/useDataGridHeaderCell.js.map +1 -1
- package/lib/components/DataGridRow/useDataGridRow.js +4 -4
- package/lib/components/DataGridRow/useDataGridRow.js.map +1 -1
- package/lib/components/DataGridSelectionCell/useDataGridSelectionCell.js +2 -2
- package/lib/components/DataGridSelectionCell/useDataGridSelectionCell.js.map +1 -1
- package/lib/components/TableHeaderCell/TableHeaderCell.types.js.map +1 -1
- package/lib/components/TableHeaderCell/useTableHeaderCell.js +2 -1
- package/lib/components/TableHeaderCell/useTableHeaderCell.js.map +1 -1
- package/lib/components/TableResizeHandle/useTableResizeHandle.js +2 -2
- package/lib/components/TableResizeHandle/useTableResizeHandle.js.map +1 -1
- package/lib/contexts/columnIdContext.js +4 -2
- package/lib/contexts/columnIdContext.js.map +1 -1
- package/lib/contexts/rowIdContext.js +4 -2
- package/lib/contexts/rowIdContext.js.map +1 -1
- package/lib/contexts/tableContext.js +4 -2
- package/lib/contexts/tableContext.js.map +1 -1
- package/lib/hooks/types.js.map +1 -1
- package/lib/hooks/useKeyboardResizing.js +4 -4
- package/lib/hooks/useKeyboardResizing.js.map +1 -1
- package/lib/hooks/useMeasureElement.js +1 -4
- package/lib/hooks/useMeasureElement.js.map +1 -1
- package/lib/hooks/useTableColumnResizeMouseHandler.js +11 -17
- package/lib/hooks/useTableColumnResizeMouseHandler.js.map +1 -1
- package/lib/hooks/useTableColumnSizing.js +3 -4
- package/lib/hooks/useTableColumnSizing.js.map +1 -1
- package/lib/hooks/useTableFeatures.js +2 -3
- package/lib/hooks/useTableFeatures.js.map +1 -1
- package/lib/hooks/useTableSelection.js +3 -5
- package/lib/hooks/useTableSelection.js.map +1 -1
- package/lib/hooks/useTableSort.js +3 -6
- package/lib/hooks/useTableSort.js.map +1 -1
- package/lib/utils/columnResizeUtils.js +2 -4
- package/lib/utils/columnResizeUtils.js.map +1 -1
- package/lib/utils/isColumnSortable.js +3 -0
- package/lib/utils/isColumnSortable.js.map +1 -0
- package/lib-commonjs/components/DataGrid/useDataGrid.js +2 -2
- package/lib-commonjs/components/DataGrid/useDataGrid.js.map +1 -1
- package/lib-commonjs/components/DataGridHeaderCell/useDataGridHeaderCell.js +13 -3
- package/lib-commonjs/components/DataGridHeaderCell/useDataGridHeaderCell.js.map +1 -1
- package/lib-commonjs/components/DataGridRow/useDataGridRow.js +4 -4
- package/lib-commonjs/components/DataGridRow/useDataGridRow.js.map +1 -1
- package/lib-commonjs/components/DataGridSelectionCell/useDataGridSelectionCell.js +2 -2
- package/lib-commonjs/components/DataGridSelectionCell/useDataGridSelectionCell.js.map +1 -1
- package/lib-commonjs/components/TableHeaderCell/useTableHeaderCell.js +2 -1
- package/lib-commonjs/components/TableHeaderCell/useTableHeaderCell.js.map +1 -1
- package/lib-commonjs/components/TableResizeHandle/useTableResizeHandle.js +2 -2
- package/lib-commonjs/components/TableResizeHandle/useTableResizeHandle.js.map +1 -1
- package/lib-commonjs/contexts/columnIdContext.js +4 -2
- package/lib-commonjs/contexts/columnIdContext.js.map +1 -1
- package/lib-commonjs/contexts/rowIdContext.js +4 -2
- package/lib-commonjs/contexts/rowIdContext.js.map +1 -1
- package/lib-commonjs/contexts/tableContext.js +4 -2
- package/lib-commonjs/contexts/tableContext.js.map +1 -1
- package/lib-commonjs/hooks/useKeyboardResizing.js +4 -4
- package/lib-commonjs/hooks/useKeyboardResizing.js.map +1 -1
- package/lib-commonjs/hooks/useMeasureElement.js +1 -4
- package/lib-commonjs/hooks/useMeasureElement.js.map +1 -1
- package/lib-commonjs/hooks/useTableColumnResizeMouseHandler.js +11 -17
- package/lib-commonjs/hooks/useTableColumnResizeMouseHandler.js.map +1 -1
- package/lib-commonjs/hooks/useTableColumnSizing.js +3 -4
- package/lib-commonjs/hooks/useTableColumnSizing.js.map +1 -1
- package/lib-commonjs/hooks/useTableFeatures.js +2 -3
- package/lib-commonjs/hooks/useTableFeatures.js.map +1 -1
- package/lib-commonjs/hooks/useTableSelection.js +3 -5
- package/lib-commonjs/hooks/useTableSelection.js.map +1 -1
- package/lib-commonjs/hooks/useTableSort.js +3 -6
- package/lib-commonjs/hooks/useTableSort.js.map +1 -1
- package/lib-commonjs/utils/columnResizeUtils.js +2 -4
- package/lib-commonjs/utils/columnResizeUtils.js.map +1 -1
- package/lib-commonjs/utils/isColumnSortable.js +13 -0
- package/lib-commonjs/utils/isColumnSortable.js.map +1 -0
- package/package.json +13 -13
|
@@ -45,10 +45,7 @@ function useMeasureElement() {
|
|
|
45
45
|
handleResize
|
|
46
46
|
]);
|
|
47
47
|
_react.useEffect(()=>{
|
|
48
|
-
return ()=>
|
|
49
|
-
var _resizeObserver;
|
|
50
|
-
return (_resizeObserver = resizeObserver) === null || _resizeObserver === void 0 ? void 0 : _resizeObserver.disconnect();
|
|
51
|
-
};
|
|
48
|
+
return ()=>resizeObserver === null || resizeObserver === void 0 ? void 0 : resizeObserver.disconnect();
|
|
52
49
|
}, [
|
|
53
50
|
resizeObserver
|
|
54
51
|
]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["useMeasureElement.js"],"sourcesContent":["import { canUseDOM } from '@fluentui/react-utilities';\nimport * as React from 'react';\nimport { useFluent_unstable as useFluent } from '@fluentui/react-shared-contexts';\n/**\n * Provides a way of reporting element width.\n * Returns\n * `width` - current element width (0 by default),\n * `measureElementRef` - a ref function to be passed as `ref` to the element you want to measure\n */ export function useMeasureElement() {\n const [width, setWidth] = React.useState(0);\n const container = React.useRef(undefined);\n const { targetDocument } = useFluent();\n // the handler for resize observer\n const handleResize = React.useCallback(()=>{\n var _container_current;\n const containerWidth = (_container_current = container.current) === null || _container_current === void 0 ? void 0 : _container_current.getBoundingClientRect().width;\n setWidth(containerWidth || 0);\n }, []);\n // Keep the reference of ResizeObserver in the state, as it should live through renders\n const [resizeObserver] = React.useState(canUseDOM() ? new ResizeObserver(handleResize) : undefined);\n const measureElementRef = React.useCallback((el)=>{\n if (!targetDocument || !resizeObserver) {\n return;\n }\n // cleanup previous container\n if (container.current) {\n resizeObserver.unobserve(container.current);\n container.current.remove();\n }\n if (el) {\n container.current = targetDocument.createElement('div');\n el.insertAdjacentElement('beforebegin', container.current);\n resizeObserver.observe(container.current);\n handleResize();\n }\n }, [\n targetDocument,\n resizeObserver,\n handleResize\n ]);\n React.useEffect(()=>{\n return ()=>
|
|
1
|
+
{"version":3,"sources":["useMeasureElement.js"],"sourcesContent":["import { canUseDOM } from '@fluentui/react-utilities';\nimport * as React from 'react';\nimport { useFluent_unstable as useFluent } from '@fluentui/react-shared-contexts';\n/**\n * Provides a way of reporting element width.\n * Returns\n * `width` - current element width (0 by default),\n * `measureElementRef` - a ref function to be passed as `ref` to the element you want to measure\n */ export function useMeasureElement() {\n const [width, setWidth] = React.useState(0);\n const container = React.useRef(undefined);\n const { targetDocument } = useFluent();\n // the handler for resize observer\n const handleResize = React.useCallback(()=>{\n var _container_current;\n const containerWidth = (_container_current = container.current) === null || _container_current === void 0 ? void 0 : _container_current.getBoundingClientRect().width;\n setWidth(containerWidth || 0);\n }, []);\n // Keep the reference of ResizeObserver in the state, as it should live through renders\n const [resizeObserver] = React.useState(canUseDOM() ? new ResizeObserver(handleResize) : undefined);\n const measureElementRef = React.useCallback((el)=>{\n if (!targetDocument || !resizeObserver) {\n return;\n }\n // cleanup previous container\n if (container.current) {\n resizeObserver.unobserve(container.current);\n container.current.remove();\n }\n if (el) {\n container.current = targetDocument.createElement('div');\n el.insertAdjacentElement('beforebegin', container.current);\n resizeObserver.observe(container.current);\n handleResize();\n }\n }, [\n targetDocument,\n resizeObserver,\n handleResize\n ]);\n React.useEffect(()=>{\n return ()=>resizeObserver === null || resizeObserver === void 0 ? void 0 : resizeObserver.disconnect();\n }, [\n resizeObserver\n ]);\n return {\n width,\n measureElementRef\n };\n}\n"],"names":["useMeasureElement","width","setWidth","React","useState","container","useRef","undefined","targetDocument","useFluent","handleResize","useCallback","_container_current","containerWidth","current","getBoundingClientRect","resizeObserver","canUseDOM","ResizeObserver","measureElementRef","el","unobserve","remove","createElement","insertAdjacentElement","observe","useEffect","disconnect"],"mappings":";;;;+BAQoBA;;;eAAAA;;;;gCARM;iEACH;qCACyB;AAMrC,SAASA;IAChB,MAAM,CAACC,OAAOC,SAAS,GAAGC,OAAMC,QAAQ,CAAC;IACzC,MAAMC,YAAYF,OAAMG,MAAM,CAACC;IAC/B,MAAM,EAAEC,cAAc,EAAE,GAAGC,IAAAA,uCAAS;IACpC,kCAAkC;IAClC,MAAMC,eAAeP,OAAMQ,WAAW,CAAC;QACnC,IAAIC;QACJ,MAAMC,iBAAiB,AAACD,CAAAA,qBAAqBP,UAAUS,OAAO,AAAD,MAAO,QAAQF,uBAAuB,KAAK,IAAI,KAAK,IAAIA,mBAAmBG,qBAAqB,GAAGd,KAAK;QACrKC,SAASW,kBAAkB;IAC/B,GAAG,EAAE;IACL,uFAAuF;IACvF,MAAM,CAACG,eAAe,GAAGb,OAAMC,QAAQ,CAACa,IAAAA,yBAAS,MAAK,IAAIC,eAAeR,gBAAgBH;IACzF,MAAMY,oBAAoBhB,OAAMQ,WAAW,CAAC,CAACS;QACzC,IAAI,CAACZ,kBAAkB,CAACQ,gBAAgB;YACpC;QACJ;QACA,6BAA6B;QAC7B,IAAIX,UAAUS,OAAO,EAAE;YACnBE,eAAeK,SAAS,CAAChB,UAAUS,OAAO;YAC1CT,UAAUS,OAAO,CAACQ,MAAM;QAC5B;QACA,IAAIF,IAAI;YACJf,UAAUS,OAAO,GAAGN,eAAee,aAAa,CAAC;YACjDH,GAAGI,qBAAqB,CAAC,eAAenB,UAAUS,OAAO;YACzDE,eAAeS,OAAO,CAACpB,UAAUS,OAAO;YACxCJ;QACJ;IACJ,GAAG;QACCF;QACAQ;QACAN;KACH;IACDP,OAAMuB,SAAS,CAAC;QACZ,OAAO,IAAIV,mBAAmB,QAAQA,mBAAmB,KAAK,IAAI,KAAK,IAAIA,eAAeW,UAAU;IACxG,GAAG;QACCX;KACH;IACD,OAAO;QACHf;QACAkB;IACJ;AACJ"}
|
|
@@ -13,12 +13,11 @@ const _react = /*#__PURE__*/ _interop_require_wildcard._(require("react"));
|
|
|
13
13
|
const _reactsharedcontexts = require("@fluentui/react-shared-contexts");
|
|
14
14
|
const _reactutilities = require("@fluentui/react-utilities");
|
|
15
15
|
function useTableColumnResizeMouseHandler(columnResizeState) {
|
|
16
|
-
var _targetDocument, _globalWin;
|
|
17
16
|
const mouseX = _react.useRef(0);
|
|
18
17
|
const currentWidth = _react.useRef(0);
|
|
19
18
|
const colId = _react.useRef(undefined);
|
|
20
19
|
const { targetDocument } = (0, _reactsharedcontexts.useFluent_unstable)();
|
|
21
|
-
const globalWin =
|
|
20
|
+
const globalWin = targetDocument === null || targetDocument === void 0 ? void 0 : targetDocument.defaultView;
|
|
22
21
|
const recalculatePosition = _react.useCallback((e)=>{
|
|
23
22
|
const { clientX } = (0, _reactutilities.getEventClientCoords)(e);
|
|
24
23
|
const dx = clientX - mouseX.current;
|
|
@@ -33,27 +32,24 @@ function useTableColumnResizeMouseHandler(columnResizeState) {
|
|
|
33
32
|
columnResizeState
|
|
34
33
|
]);
|
|
35
34
|
const onDrag = _react.useCallback((e)=>{
|
|
36
|
-
var _globalWin;
|
|
37
35
|
// Using requestAnimationFrame here drastically improves resizing experience on slower CPUs
|
|
38
|
-
if (typeof (
|
|
36
|
+
if (typeof (globalWin === null || globalWin === void 0 ? void 0 : globalWin.requestAnimationFrame) === 'function') {
|
|
39
37
|
requestAnimationFrame(()=>recalculatePosition(e));
|
|
40
38
|
} else {
|
|
41
39
|
recalculatePosition(e);
|
|
42
40
|
}
|
|
43
41
|
}, [
|
|
44
|
-
|
|
42
|
+
globalWin === null || globalWin === void 0 ? void 0 : globalWin.requestAnimationFrame,
|
|
45
43
|
recalculatePosition
|
|
46
44
|
]);
|
|
47
45
|
const onDragEnd = _react.useCallback((event)=>{
|
|
48
46
|
if ((0, _reactutilities.isMouseEvent)(event)) {
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
(_targetDocument1 = targetDocument) === null || _targetDocument1 === void 0 ? void 0 : _targetDocument1.removeEventListener('mousemove', onDrag);
|
|
47
|
+
targetDocument === null || targetDocument === void 0 ? void 0 : targetDocument.removeEventListener('mouseup', onDragEnd);
|
|
48
|
+
targetDocument === null || targetDocument === void 0 ? void 0 : targetDocument.removeEventListener('mousemove', onDrag);
|
|
52
49
|
}
|
|
53
50
|
if ((0, _reactutilities.isTouchEvent)(event)) {
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
(_targetDocument3 = targetDocument) === null || _targetDocument3 === void 0 ? void 0 : _targetDocument3.removeEventListener('touchmove', onDrag);
|
|
51
|
+
targetDocument === null || targetDocument === void 0 ? void 0 : targetDocument.removeEventListener('touchend', onDragEnd);
|
|
52
|
+
targetDocument === null || targetDocument === void 0 ? void 0 : targetDocument.removeEventListener('touchmove', onDrag);
|
|
57
53
|
}
|
|
58
54
|
}, [
|
|
59
55
|
onDrag,
|
|
@@ -66,18 +62,16 @@ function useTableColumnResizeMouseHandler(columnResizeState) {
|
|
|
66
62
|
mouseX.current = (0, _reactutilities.getEventClientCoords)(event).clientX;
|
|
67
63
|
colId.current = columnId;
|
|
68
64
|
if ((0, _reactutilities.isMouseEvent)(event)) {
|
|
69
|
-
var _targetDocument, _targetDocument1;
|
|
70
65
|
// ignore other buttons than primary mouse button
|
|
71
66
|
if (event.target !== event.currentTarget || event.button !== 0) {
|
|
72
67
|
return;
|
|
73
68
|
}
|
|
74
|
-
|
|
75
|
-
|
|
69
|
+
targetDocument === null || targetDocument === void 0 ? void 0 : targetDocument.addEventListener('mouseup', onDragEnd);
|
|
70
|
+
targetDocument === null || targetDocument === void 0 ? void 0 : targetDocument.addEventListener('mousemove', onDrag);
|
|
76
71
|
}
|
|
77
72
|
if ((0, _reactutilities.isTouchEvent)(event)) {
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
(_targetDocument3 = targetDocument) === null || _targetDocument3 === void 0 ? void 0 : _targetDocument3.addEventListener('touchmove', onDrag);
|
|
73
|
+
targetDocument === null || targetDocument === void 0 ? void 0 : targetDocument.addEventListener('touchend', onDragEnd);
|
|
74
|
+
targetDocument === null || targetDocument === void 0 ? void 0 : targetDocument.addEventListener('touchmove', onDrag);
|
|
81
75
|
}
|
|
82
76
|
};
|
|
83
77
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["useTableColumnResizeMouseHandler.js"],"sourcesContent":["import * as React from 'react';\nimport { useFluent_unstable as useFluent } from '@fluentui/react-shared-contexts';\nimport { getEventClientCoords, isMouseEvent, isTouchEvent } from '@fluentui/react-utilities';\nexport function useTableColumnResizeMouseHandler(columnResizeState) {\n
|
|
1
|
+
{"version":3,"sources":["useTableColumnResizeMouseHandler.js"],"sourcesContent":["import * as React from 'react';\nimport { useFluent_unstable as useFluent } from '@fluentui/react-shared-contexts';\nimport { getEventClientCoords, isMouseEvent, isTouchEvent } from '@fluentui/react-utilities';\nexport function useTableColumnResizeMouseHandler(columnResizeState) {\n const mouseX = React.useRef(0);\n const currentWidth = React.useRef(0);\n const colId = React.useRef(undefined);\n const { targetDocument } = useFluent();\n const globalWin = targetDocument === null || targetDocument === void 0 ? void 0 : targetDocument.defaultView;\n const recalculatePosition = React.useCallback((e)=>{\n const { clientX } = getEventClientCoords(e);\n const dx = clientX - mouseX.current;\n // Update the local width for the column and set it\n currentWidth.current += dx;\n colId.current && columnResizeState.setColumnWidth(e, {\n columnId: colId.current,\n width: currentWidth.current\n });\n mouseX.current = clientX;\n }, [\n columnResizeState\n ]);\n const onDrag = React.useCallback((e)=>{\n // Using requestAnimationFrame here drastically improves resizing experience on slower CPUs\n if (typeof (globalWin === null || globalWin === void 0 ? void 0 : globalWin.requestAnimationFrame) === 'function') {\n requestAnimationFrame(()=>recalculatePosition(e));\n } else {\n recalculatePosition(e);\n }\n }, [\n globalWin === null || globalWin === void 0 ? void 0 : globalWin.requestAnimationFrame,\n recalculatePosition\n ]);\n const onDragEnd = React.useCallback((event)=>{\n if (isMouseEvent(event)) {\n targetDocument === null || targetDocument === void 0 ? void 0 : targetDocument.removeEventListener('mouseup', onDragEnd);\n targetDocument === null || targetDocument === void 0 ? void 0 : targetDocument.removeEventListener('mousemove', onDrag);\n }\n if (isTouchEvent(event)) {\n targetDocument === null || targetDocument === void 0 ? void 0 : targetDocument.removeEventListener('touchend', onDragEnd);\n targetDocument === null || targetDocument === void 0 ? void 0 : targetDocument.removeEventListener('touchmove', onDrag);\n }\n }, [\n onDrag,\n targetDocument\n ]);\n const getOnMouseDown = (columnId)=>(event)=>{\n // Keep the width locally so that we decouple the calculation of the next with from rendering.\n // This makes the whole experience much faster and more precise\n currentWidth.current = columnResizeState.getColumnWidth(columnId);\n mouseX.current = getEventClientCoords(event).clientX;\n colId.current = columnId;\n if (isMouseEvent(event)) {\n // ignore other buttons than primary mouse button\n if (event.target !== event.currentTarget || event.button !== 0) {\n return;\n }\n targetDocument === null || targetDocument === void 0 ? void 0 : targetDocument.addEventListener('mouseup', onDragEnd);\n targetDocument === null || targetDocument === void 0 ? void 0 : targetDocument.addEventListener('mousemove', onDrag);\n }\n if (isTouchEvent(event)) {\n targetDocument === null || targetDocument === void 0 ? void 0 : targetDocument.addEventListener('touchend', onDragEnd);\n targetDocument === null || targetDocument === void 0 ? void 0 : targetDocument.addEventListener('touchmove', onDrag);\n }\n };\n return {\n getOnMouseDown: (columnId)=>getOnMouseDown(columnId)\n };\n}\n"],"names":["useTableColumnResizeMouseHandler","columnResizeState","mouseX","React","useRef","currentWidth","colId","undefined","targetDocument","useFluent","globalWin","defaultView","recalculatePosition","useCallback","e","clientX","getEventClientCoords","dx","current","setColumnWidth","columnId","width","onDrag","requestAnimationFrame","onDragEnd","event","isMouseEvent","removeEventListener","isTouchEvent","getOnMouseDown","getColumnWidth","target","currentTarget","button","addEventListener"],"mappings":"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"}
|
|
@@ -54,12 +54,11 @@ function getColumnStyles(column) {
|
|
|
54
54
|
};
|
|
55
55
|
}
|
|
56
56
|
function useTableColumnSizingState(tableState, params) {
|
|
57
|
-
var _params;
|
|
58
57
|
const { columns } = tableState;
|
|
59
58
|
// Gets the container width
|
|
60
59
|
const { width, measureElementRef } = (0, _useMeasureElement.useMeasureElement)();
|
|
61
60
|
// Creates the state based on columns and available containerWidth
|
|
62
|
-
const columnResizeState = (0, _useTableColumnResizeState.useTableColumnResizeState)(columns, width + ((
|
|
61
|
+
const columnResizeState = (0, _useTableColumnResizeState.useTableColumnResizeState)(columns, width + ((params === null || params === void 0 ? void 0 : params.containerWidthOffset) || 0), params);
|
|
63
62
|
// Creates the mouse handler and attaches the state to it
|
|
64
63
|
const mouseHandler = (0, _useTableColumnResizeMouseHandler.useTableColumnResizeMouseHandler)(columnResizeState);
|
|
65
64
|
// Creates the keyboard handler for resizing columns
|
|
@@ -92,13 +91,13 @@ function useTableColumnSizingState(tableState, params) {
|
|
|
92
91
|
};
|
|
93
92
|
},
|
|
94
93
|
getTableHeaderCellProps: (columnId)=>{
|
|
95
|
-
var _columns_
|
|
94
|
+
var _columns_;
|
|
96
95
|
const col = columnResizeState.getColumnById(columnId);
|
|
97
96
|
const isLastColumn = ((_columns_ = columns[columns.length - 1]) === null || _columns_ === void 0 ? void 0 : _columns_.columnId) === columnId;
|
|
98
97
|
const aside = isLastColumn ? null : /*#__PURE__*/ _react.createElement(_TableResizeHandle.TableResizeHandle, {
|
|
99
98
|
onMouseDown: mouseHandler.getOnMouseDown(columnId),
|
|
100
99
|
onTouchStart: mouseHandler.getOnMouseDown(columnId),
|
|
101
|
-
...getKeyboardResizingProps(columnId, (
|
|
100
|
+
...getKeyboardResizingProps(columnId, (col === null || col === void 0 ? void 0 : col.width) || 0)
|
|
102
101
|
});
|
|
103
102
|
return col ? {
|
|
104
103
|
style: getColumnStyles(col),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["useTableColumnSizing.js"],"sourcesContent":["import * as React from 'react';\nimport { TableResizeHandle } from '../TableResizeHandle';\nimport { useMeasureElement } from './useMeasureElement';\nimport { useTableColumnResizeMouseHandler } from './useTableColumnResizeMouseHandler';\nimport { useTableColumnResizeState } from './useTableColumnResizeState';\nimport { useKeyboardResizing } from './useKeyboardResizing';\nexport const defaultColumnSizingState = {\n getColumnWidths: ()=>[],\n getOnMouseDown: ()=>()=>null,\n setColumnWidth: ()=>null,\n getTableProps: ()=>({}),\n getTableHeaderCellProps: ()=>({\n style: {},\n columnId: ''\n }),\n getTableCellProps: ()=>({\n style: {},\n columnId: ''\n }),\n enableKeyboardMode: ()=>()=>null\n};\nexport function useTableColumnSizing_unstable(params) {\n // False positive, these plugin hooks are intended to be run on every render\n // eslint-disable-next-line react-hooks/rules-of-hooks\n return (tableState)=>useTableColumnSizingState(tableState, params);\n}\nfunction getColumnStyles(column) {\n const width = column.width;\n return {\n // native styles\n width,\n // non-native element styles (flex layout)\n minWidth: width,\n maxWidth: width\n };\n}\nfunction useTableColumnSizingState(tableState, params) {\n
|
|
1
|
+
{"version":3,"sources":["useTableColumnSizing.js"],"sourcesContent":["import * as React from 'react';\nimport { TableResizeHandle } from '../TableResizeHandle';\nimport { useMeasureElement } from './useMeasureElement';\nimport { useTableColumnResizeMouseHandler } from './useTableColumnResizeMouseHandler';\nimport { useTableColumnResizeState } from './useTableColumnResizeState';\nimport { useKeyboardResizing } from './useKeyboardResizing';\nexport const defaultColumnSizingState = {\n getColumnWidths: ()=>[],\n getOnMouseDown: ()=>()=>null,\n setColumnWidth: ()=>null,\n getTableProps: ()=>({}),\n getTableHeaderCellProps: ()=>({\n style: {},\n columnId: ''\n }),\n getTableCellProps: ()=>({\n style: {},\n columnId: ''\n }),\n enableKeyboardMode: ()=>()=>null\n};\nexport function useTableColumnSizing_unstable(params) {\n // False positive, these plugin hooks are intended to be run on every render\n // eslint-disable-next-line react-hooks/rules-of-hooks\n return (tableState)=>useTableColumnSizingState(tableState, params);\n}\nfunction getColumnStyles(column) {\n const width = column.width;\n return {\n // native styles\n width,\n // non-native element styles (flex layout)\n minWidth: width,\n maxWidth: width\n };\n}\nfunction useTableColumnSizingState(tableState, params) {\n const { columns } = tableState;\n // Gets the container width\n const { width, measureElementRef } = useMeasureElement();\n // Creates the state based on columns and available containerWidth\n const columnResizeState = useTableColumnResizeState(columns, width + ((params === null || params === void 0 ? void 0 : params.containerWidthOffset) || 0), params);\n // Creates the mouse handler and attaches the state to it\n const mouseHandler = useTableColumnResizeMouseHandler(columnResizeState);\n // Creates the keyboard handler for resizing columns\n const { toggleInteractiveMode, getKeyboardResizingProps } = useKeyboardResizing(columnResizeState);\n const enableKeyboardMode = React.useCallback((columnId, onChange)=>(e)=>{\n e.preventDefault();\n e.nativeEvent.stopPropagation();\n toggleInteractiveMode(columnId, onChange);\n }, [\n toggleInteractiveMode\n ]);\n return {\n ...tableState,\n tableRef: measureElementRef,\n // eslint-disable-next-line @typescript-eslint/naming-convention\n columnSizing_unstable: {\n getOnMouseDown: mouseHandler.getOnMouseDown,\n setColumnWidth: (columnId, w)=>columnResizeState.setColumnWidth(undefined, {\n columnId,\n width: w\n }),\n getColumnWidths: columnResizeState.getColumns,\n getTableProps: (props = {})=>{\n return {\n ...props,\n style: {\n minWidth: 'fit-content',\n ...props.style || {}\n }\n };\n },\n getTableHeaderCellProps: (columnId)=>{\n var _columns_;\n const col = columnResizeState.getColumnById(columnId);\n const isLastColumn = ((_columns_ = columns[columns.length - 1]) === null || _columns_ === void 0 ? void 0 : _columns_.columnId) === columnId;\n const aside = isLastColumn ? null : /*#__PURE__*/ React.createElement(TableResizeHandle, {\n onMouseDown: mouseHandler.getOnMouseDown(columnId),\n onTouchStart: mouseHandler.getOnMouseDown(columnId),\n ...getKeyboardResizingProps(columnId, (col === null || col === void 0 ? void 0 : col.width) || 0)\n });\n return col ? {\n style: getColumnStyles(col),\n aside\n } : {};\n },\n getTableCellProps: (columnId)=>{\n const col = columnResizeState.getColumnById(columnId);\n return col ? {\n style: getColumnStyles(col)\n } : {};\n },\n enableKeyboardMode\n }\n };\n}\n"],"names":["defaultColumnSizingState","useTableColumnSizing_unstable","getColumnWidths","getOnMouseDown","setColumnWidth","getTableProps","getTableHeaderCellProps","style","columnId","getTableCellProps","enableKeyboardMode","params","tableState","useTableColumnSizingState","getColumnStyles","column","width","minWidth","maxWidth","columns","measureElementRef","useMeasureElement","columnResizeState","useTableColumnResizeState","containerWidthOffset","mouseHandler","useTableColumnResizeMouseHandler","toggleInteractiveMode","getKeyboardResizingProps","useKeyboardResizing","React","useCallback","onChange","e","preventDefault","nativeEvent","stopPropagation","tableRef","columnSizing_unstable","w","undefined","getColumns","props","_columns_","col","getColumnById","isLastColumn","length","aside","createElement","TableResizeHandle","onMouseDown","onTouchStart"],"mappings":"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"}
|
|
@@ -35,12 +35,11 @@ const defaultTableState = {
|
|
|
35
35
|
};
|
|
36
36
|
function useTableFeatures(options, plugins = []) {
|
|
37
37
|
const { items, getRowId, columns } = options;
|
|
38
|
-
var _getRowId;
|
|
39
38
|
const getRows = (rowEnhancer = defaultRowEnhancer)=>items.map((item, i)=>{
|
|
40
|
-
var
|
|
39
|
+
var _getRowId;
|
|
41
40
|
return rowEnhancer({
|
|
42
41
|
item,
|
|
43
|
-
rowId: (_getRowId =
|
|
42
|
+
rowId: (_getRowId = getRowId === null || getRowId === void 0 ? void 0 : getRowId(item)) !== null && _getRowId !== void 0 ? _getRowId : i
|
|
44
43
|
});
|
|
45
44
|
});
|
|
46
45
|
const initialState = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["useTableFeatures.js"],"sourcesContent":["import * as React from 'react';\nimport { defaultTableSelectionState } from './useTableSelection';\nimport { defaultTableSortState } from './useTableSort';\nimport { defaultColumnSizingState } from './useTableColumnSizing';\nconst defaultRowEnhancer = (row)=>row;\nexport const defaultTableState = {\n selection: defaultTableSelectionState,\n sort: defaultTableSortState,\n getRows: ()=>[],\n getRowId: ()=>'',\n items: [],\n columns: [],\n // eslint-disable-next-line @typescript-eslint/naming-convention\n columnSizing_unstable: defaultColumnSizingState,\n tableRef: React.createRef()\n};\nexport function useTableFeatures(options, plugins = []) {\n const { items, getRowId, columns } = options;\n
|
|
1
|
+
{"version":3,"sources":["useTableFeatures.js"],"sourcesContent":["import * as React from 'react';\nimport { defaultTableSelectionState } from './useTableSelection';\nimport { defaultTableSortState } from './useTableSort';\nimport { defaultColumnSizingState } from './useTableColumnSizing';\nconst defaultRowEnhancer = (row)=>row;\nexport const defaultTableState = {\n selection: defaultTableSelectionState,\n sort: defaultTableSortState,\n getRows: ()=>[],\n getRowId: ()=>'',\n items: [],\n columns: [],\n // eslint-disable-next-line @typescript-eslint/naming-convention\n columnSizing_unstable: defaultColumnSizingState,\n tableRef: React.createRef()\n};\nexport function useTableFeatures(options, plugins = []) {\n const { items, getRowId, columns } = options;\n const getRows = (rowEnhancer = defaultRowEnhancer)=>items.map((item, i)=>{\n var _getRowId;\n return rowEnhancer({\n item,\n rowId: (_getRowId = getRowId === null || getRowId === void 0 ? void 0 : getRowId(item)) !== null && _getRowId !== void 0 ? _getRowId : i\n });\n });\n const initialState = {\n getRowId,\n items,\n columns,\n getRows,\n selection: defaultTableSelectionState,\n sort: defaultTableSortState,\n // eslint-disable-next-line @typescript-eslint/naming-convention\n columnSizing_unstable: defaultColumnSizingState,\n tableRef: React.createRef()\n };\n return plugins.reduce((state, plugin)=>plugin(state), initialState);\n}\n"],"names":["defaultTableState","useTableFeatures","defaultRowEnhancer","row","selection","defaultTableSelectionState","sort","defaultTableSortState","getRows","getRowId","items","columns","columnSizing_unstable","defaultColumnSizingState","tableRef","React","createRef","options","plugins","rowEnhancer","map","item","i","_getRowId","rowId","initialState","reduce","state","plugin"],"mappings":";;;;;;;;;;;IAKaA,iBAAiB;eAAjBA;;IAWGC,gBAAgB;eAAhBA;;;;iEAhBO;mCACoB;8BACL;sCACG;AACzC,MAAMC,qBAAqB,CAACC,MAAMA;AAC3B,MAAMH,oBAAoB;IAC7BI,WAAWC,6CAA0B;IACrCC,MAAMC,mCAAqB;IAC3BC,SAAS,IAAI,EAAE;IACfC,UAAU,IAAI;IACdC,OAAO,EAAE;IACTC,SAAS,EAAE;IACX,gEAAgE;IAChEC,uBAAuBC,8CAAwB;IAC/CC,wBAAUC,OAAMC,SAAS;AAC7B;AACO,SAASf,iBAAiBgB,OAAO,EAAEC,UAAU,EAAE;IAClD,MAAM,EAAER,KAAK,EAAED,QAAQ,EAAEE,OAAO,EAAE,GAAGM;IACrC,MAAMT,UAAU,CAACW,cAAcjB,kBAAkB,GAAGQ,MAAMU,GAAG,CAAC,CAACC,MAAMC;YAC7D,IAAIC;YACJ,OAAOJ,YAAY;gBACfE;gBACAG,OAAO,AAACD,CAAAA,YAAYd,aAAa,QAAQA,aAAa,KAAK,IAAI,KAAK,IAAIA,SAASY,KAAI,MAAO,QAAQE,cAAc,KAAK,IAAIA,YAAYD;YAC3I;QACJ;IACJ,MAAMG,eAAe;QACjBhB;QACAC;QACAC;QACAH;QACAJ,WAAWC,6CAA0B;QACrCC,MAAMC,mCAAqB;QAC3B,gEAAgE;QAChEK,uBAAuBC,8CAAwB;QAC/CC,wBAAUC,OAAMC,SAAS;IAC7B;IACA,OAAOE,QAAQQ,MAAM,CAAC,CAACC,OAAOC,SAASA,OAAOD,QAAQF;AAC1D"}
|
|
@@ -54,8 +54,7 @@ function useTableSelectionState(tableState, options) {
|
|
|
54
54
|
const rowIds = new Set();
|
|
55
55
|
for(let i = 0; i < items.length; i++){
|
|
56
56
|
var _getRowId;
|
|
57
|
-
|
|
58
|
-
rowIds.add((_getRowId1 = (_getRowId = getRowId) === null || _getRowId === void 0 ? void 0 : _getRowId(items[i])) !== null && _getRowId1 !== void 0 ? _getRowId1 : i);
|
|
57
|
+
rowIds.add((_getRowId = getRowId === null || getRowId === void 0 ? void 0 : getRowId(items[i])) !== null && _getRowId !== void 0 ? _getRowId : i);
|
|
59
58
|
}
|
|
60
59
|
return rowIds;
|
|
61
60
|
}, [
|
|
@@ -99,10 +98,9 @@ function useTableSelectionState(tableState, options) {
|
|
|
99
98
|
selected
|
|
100
99
|
]);
|
|
101
100
|
const toggleAllRows = (0, _reactutilities.useEventCallback)((e)=>{
|
|
102
|
-
var _getRowId;
|
|
103
101
|
selectionMethods.toggleAllItems(e, items.map((item, i)=>{
|
|
104
|
-
var
|
|
105
|
-
return (_getRowId =
|
|
102
|
+
var _getRowId;
|
|
103
|
+
return (_getRowId = getRowId === null || getRowId === void 0 ? void 0 : getRowId(item)) !== null && _getRowId !== void 0 ? _getRowId : i;
|
|
106
104
|
}));
|
|
107
105
|
});
|
|
108
106
|
const toggleRow = (0, _reactutilities.useEventCallback)((e, rowId)=>selectionMethods.toggleItem(e, rowId));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["useTableSelection.js"],"sourcesContent":["import * as React from 'react';\nimport { useEventCallback, useSelection } from '@fluentui/react-utilities';\nconst noop = ()=>undefined;\nexport const defaultTableSelectionState = {\n allRowsSelected: false,\n clearRows: noop,\n deselectRow: noop,\n isRowSelected: ()=>false,\n selectRow: noop,\n selectedRows: new Set(),\n someRowsSelected: false,\n toggleAllRows: noop,\n toggleRow: noop,\n selectionMode: 'multiselect'\n};\nexport function useTableSelection(options) {\n // False positive, these plugin hooks are intended to be run on every render\n // eslint-disable-next-line react-hooks/rules-of-hooks\n return (tableState)=>useTableSelectionState(tableState, options);\n}\nexport function useTableSelectionState(tableState, options) {\n const { items, getRowId } = tableState;\n const { selectionMode: selectionMode, defaultSelectedItems, selectedItems, onSelectionChange } = options;\n const [selected, selectionMethods] = useSelection({\n selectionMode,\n defaultSelectedItems,\n selectedItems,\n onSelectionChange\n });\n // Selection state can contain obselete items (i.e. rows that are removed)\n const selectableRowIds = React.useMemo(()=>{\n const rowIds = new Set();\n for(let i = 0; i < items.length; i++){\n var _getRowId;\n
|
|
1
|
+
{"version":3,"sources":["useTableSelection.js"],"sourcesContent":["import * as React from 'react';\nimport { useEventCallback, useSelection } from '@fluentui/react-utilities';\nconst noop = ()=>undefined;\nexport const defaultTableSelectionState = {\n allRowsSelected: false,\n clearRows: noop,\n deselectRow: noop,\n isRowSelected: ()=>false,\n selectRow: noop,\n selectedRows: new Set(),\n someRowsSelected: false,\n toggleAllRows: noop,\n toggleRow: noop,\n selectionMode: 'multiselect'\n};\nexport function useTableSelection(options) {\n // False positive, these plugin hooks are intended to be run on every render\n // eslint-disable-next-line react-hooks/rules-of-hooks\n return (tableState)=>useTableSelectionState(tableState, options);\n}\nexport function useTableSelectionState(tableState, options) {\n const { items, getRowId } = tableState;\n const { selectionMode: selectionMode, defaultSelectedItems, selectedItems, onSelectionChange } = options;\n const [selected, selectionMethods] = useSelection({\n selectionMode,\n defaultSelectedItems,\n selectedItems,\n onSelectionChange\n });\n // Selection state can contain obselete items (i.e. rows that are removed)\n const selectableRowIds = React.useMemo(()=>{\n const rowIds = new Set();\n for(let i = 0; i < items.length; i++){\n var _getRowId;\n rowIds.add((_getRowId = getRowId === null || getRowId === void 0 ? void 0 : getRowId(items[i])) !== null && _getRowId !== void 0 ? _getRowId : i);\n }\n return rowIds;\n }, [\n items,\n getRowId\n ]);\n const allRowsSelected = React.useMemo(()=>{\n if (selectionMode === 'single') {\n const selectedRow = Array.from(selected)[0];\n return selectableRowIds.has(selectedRow);\n }\n // multiselect case\n if (selected.size < selectableRowIds.size) {\n return false;\n }\n let res = true;\n selectableRowIds.forEach((selectableRowId)=>{\n if (!selected.has(selectableRowId)) {\n res = false;\n }\n });\n return res;\n }, [\n selectableRowIds,\n selected,\n selectionMode\n ]);\n const someRowsSelected = React.useMemo(()=>{\n if (selected.size <= 0) {\n return false;\n }\n let res = false;\n selectableRowIds.forEach((selectableRowId)=>{\n if (selected.has(selectableRowId)) {\n res = true;\n }\n });\n return res;\n }, [\n selectableRowIds,\n selected\n ]);\n const toggleAllRows = useEventCallback((e)=>{\n selectionMethods.toggleAllItems(e, items.map((item, i)=>{\n var _getRowId;\n return (_getRowId = getRowId === null || getRowId === void 0 ? void 0 : getRowId(item)) !== null && _getRowId !== void 0 ? _getRowId : i;\n }));\n });\n const toggleRow = useEventCallback((e, rowId)=>selectionMethods.toggleItem(e, rowId));\n const deselectRow = useEventCallback((e, rowId)=>selectionMethods.deselectItem(e, rowId));\n const selectRow = useEventCallback((e, rowId)=>selectionMethods.selectItem(e, rowId));\n const isRowSelected = (rowId)=>selectionMethods.isSelected(rowId);\n const clearRows = useEventCallback((e)=>selectionMethods.clearItems(e));\n return {\n ...tableState,\n selection: {\n selectionMode,\n someRowsSelected,\n allRowsSelected,\n selectedRows: selected,\n toggleRow,\n toggleAllRows,\n clearRows,\n deselectRow,\n selectRow,\n isRowSelected\n }\n };\n}\n"],"names":["defaultTableSelectionState","useTableSelection","useTableSelectionState","noop","undefined","allRowsSelected","clearRows","deselectRow","isRowSelected","selectRow","selectedRows","Set","someRowsSelected","toggleAllRows","toggleRow","selectionMode","options","tableState","items","getRowId","defaultSelectedItems","selectedItems","onSelectionChange","selected","selectionMethods","useSelection","selectableRowIds","React","useMemo","rowIds","i","length","_getRowId","add","selectedRow","Array","from","has","size","res","forEach","selectableRowId","useEventCallback","e","toggleAllItems","map","item","rowId","toggleItem","deselectItem","selectItem","isSelected","clearItems","selection"],"mappings":"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"}
|
|
@@ -52,7 +52,6 @@ function useTableSortState(tableState, options) {
|
|
|
52
52
|
const { sortColumn, sortDirection } = sorted;
|
|
53
53
|
const toggleColumnSort = (e, columnId)=>{
|
|
54
54
|
setSorted((s)=>{
|
|
55
|
-
var _onSortChange;
|
|
56
55
|
const newState = {
|
|
57
56
|
...s,
|
|
58
57
|
sortColumn: columnId
|
|
@@ -62,24 +61,22 @@ function useTableSortState(tableState, options) {
|
|
|
62
61
|
} else {
|
|
63
62
|
newState.sortDirection = 'ascending';
|
|
64
63
|
}
|
|
65
|
-
|
|
64
|
+
onSortChange === null || onSortChange === void 0 ? void 0 : onSortChange(e, newState);
|
|
66
65
|
return newState;
|
|
67
66
|
});
|
|
68
67
|
};
|
|
69
68
|
const setColumnSort = (e, nextSortColumn, nextSortDirection)=>{
|
|
70
|
-
var _onSortChange;
|
|
71
69
|
const newState = {
|
|
72
70
|
sortColumn: nextSortColumn,
|
|
73
71
|
sortDirection: nextSortDirection
|
|
74
72
|
};
|
|
75
|
-
|
|
73
|
+
onSortChange === null || onSortChange === void 0 ? void 0 : onSortChange(e, newState);
|
|
76
74
|
setSorted(newState);
|
|
77
75
|
};
|
|
78
76
|
const sort = (rows)=>{
|
|
79
77
|
return rows.slice().sort((a, b)=>{
|
|
80
|
-
var _sortColumnDef;
|
|
81
78
|
const sortColumnDef = columns.find((column)=>column.columnId === sortColumn);
|
|
82
|
-
if (!(
|
|
79
|
+
if (!(sortColumnDef === null || sortColumnDef === void 0 ? void 0 : sortColumnDef.compare)) {
|
|
83
80
|
return 0;
|
|
84
81
|
}
|
|
85
82
|
const mod = sortDirection === 'ascending' ? 1 : -1;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["useTableSort.js"],"sourcesContent":["import * as React from 'react';\nimport { useControllableState } from '@fluentui/react-utilities';\nconst noop = ()=>undefined;\nexport const defaultTableSortState = {\n getSortDirection: ()=>'ascending',\n setColumnSort: noop,\n sort: (rows)=>[\n ...rows\n ],\n sortColumn: undefined,\n sortDirection: 'ascending',\n toggleColumnSort: noop\n};\nexport function useTableSort(options) {\n // False positive, these plugin hooks are intended to be run on every render\n // eslint-disable-next-line react-hooks/rules-of-hooks\n return (tableState)=>useTableSortState(tableState, options);\n}\nexport function useTableSortState(tableState, options) {\n const { columns } = tableState;\n const { sortState, defaultSortState, onSortChange } = options;\n const [sorted, setSorted] = useControllableState({\n initialState: {\n sortDirection: 'ascending',\n sortColumn: undefined\n },\n defaultState: defaultSortState,\n state: sortState\n });\n const { sortColumn, sortDirection } = sorted;\n const toggleColumnSort = (e, columnId)=>{\n setSorted((s)=>{\n
|
|
1
|
+
{"version":3,"sources":["useTableSort.js"],"sourcesContent":["import * as React from 'react';\nimport { useControllableState } from '@fluentui/react-utilities';\nconst noop = ()=>undefined;\nexport const defaultTableSortState = {\n getSortDirection: ()=>'ascending',\n setColumnSort: noop,\n sort: (rows)=>[\n ...rows\n ],\n sortColumn: undefined,\n sortDirection: 'ascending',\n toggleColumnSort: noop\n};\nexport function useTableSort(options) {\n // False positive, these plugin hooks are intended to be run on every render\n // eslint-disable-next-line react-hooks/rules-of-hooks\n return (tableState)=>useTableSortState(tableState, options);\n}\nexport function useTableSortState(tableState, options) {\n const { columns } = tableState;\n const { sortState, defaultSortState, onSortChange } = options;\n const [sorted, setSorted] = useControllableState({\n initialState: {\n sortDirection: 'ascending',\n sortColumn: undefined\n },\n defaultState: defaultSortState,\n state: sortState\n });\n const { sortColumn, sortDirection } = sorted;\n const toggleColumnSort = (e, columnId)=>{\n setSorted((s)=>{\n const newState = {\n ...s,\n sortColumn: columnId\n };\n if (s.sortColumn === columnId) {\n newState.sortDirection = s.sortDirection === 'ascending' ? 'descending' : 'ascending';\n } else {\n newState.sortDirection = 'ascending';\n }\n onSortChange === null || onSortChange === void 0 ? void 0 : onSortChange(e, newState);\n return newState;\n });\n };\n const setColumnSort = (e, nextSortColumn, nextSortDirection)=>{\n const newState = {\n sortColumn: nextSortColumn,\n sortDirection: nextSortDirection\n };\n onSortChange === null || onSortChange === void 0 ? void 0 : onSortChange(e, newState);\n setSorted(newState);\n };\n const sort = (rows)=>{\n return rows.slice().sort((a, b)=>{\n const sortColumnDef = columns.find((column)=>column.columnId === sortColumn);\n if (!(sortColumnDef === null || sortColumnDef === void 0 ? void 0 : sortColumnDef.compare)) {\n return 0;\n }\n const mod = sortDirection === 'ascending' ? 1 : -1;\n return sortColumnDef.compare(a.item, b.item) * mod;\n });\n };\n const getSortDirection = (columnId)=>{\n return sortColumn === columnId ? sortDirection : undefined;\n };\n return {\n ...tableState,\n sort: {\n sort,\n sortColumn,\n sortDirection,\n setColumnSort,\n toggleColumnSort,\n getSortDirection\n }\n };\n}\n"],"names":["defaultTableSortState","useTableSort","useTableSortState","noop","undefined","getSortDirection","setColumnSort","sort","rows","sortColumn","sortDirection","toggleColumnSort","options","tableState","columns","sortState","defaultSortState","onSortChange","sorted","setSorted","useControllableState","initialState","defaultState","state","e","columnId","s","newState","nextSortColumn","nextSortDirection","slice","a","b","sortColumnDef","find","column","compare","mod","item"],"mappings":";;;;;;;;;;;IAGaA,qBAAqB;eAArBA;;IAUGC,YAAY;eAAZA;;IAKAC,iBAAiB;eAAjBA;;;;iEAlBO;gCACc;AACrC,MAAMC,OAAO,IAAIC;AACV,MAAMJ,wBAAwB;IACjCK,kBAAkB,IAAI;IACtBC,eAAeH;IACfI,MAAM,CAACC,OAAO;eACHA;SACN;IACLC,YAAYL;IACZM,eAAe;IACfC,kBAAkBR;AACtB;AACO,SAASF,aAAaW,OAAO;IAChC,4EAA4E;IAC5E,sDAAsD;IACtD,OAAO,CAACC,aAAaX,kBAAkBW,YAAYD;AACvD;AACO,SAASV,kBAAkBW,UAAU,EAAED,OAAO;IACjD,MAAM,EAAEE,OAAO,EAAE,GAAGD;IACpB,MAAM,EAAEE,SAAS,EAAEC,gBAAgB,EAAEC,YAAY,EAAE,GAAGL;IACtD,MAAM,CAACM,QAAQC,UAAU,GAAGC,IAAAA,oCAAoB,EAAC;QAC7CC,cAAc;YACVX,eAAe;YACfD,YAAYL;QAChB;QACAkB,cAAcN;QACdO,OAAOR;IACX;IACA,MAAM,EAAEN,UAAU,EAAEC,aAAa,EAAE,GAAGQ;IACtC,MAAMP,mBAAmB,CAACa,GAAGC;QACzBN,UAAU,CAACO;YACP,MAAMC,WAAW;gBACb,GAAGD,CAAC;gBACJjB,YAAYgB;YAChB;YACA,IAAIC,EAAEjB,UAAU,KAAKgB,UAAU;gBAC3BE,SAASjB,aAAa,GAAGgB,EAAEhB,aAAa,KAAK,cAAc,eAAe;YAC9E,OAAO;gBACHiB,SAASjB,aAAa,GAAG;YAC7B;YACAO,iBAAiB,QAAQA,iBAAiB,KAAK,IAAI,KAAK,IAAIA,aAAaO,GAAGG;YAC5E,OAAOA;QACX;IACJ;IACA,MAAMrB,gBAAgB,CAACkB,GAAGI,gBAAgBC;QACtC,MAAMF,WAAW;YACblB,YAAYmB;YACZlB,eAAemB;QACnB;QACAZ,iBAAiB,QAAQA,iBAAiB,KAAK,IAAI,KAAK,IAAIA,aAAaO,GAAGG;QAC5ER,UAAUQ;IACd;IACA,MAAMpB,OAAO,CAACC;QACV,OAAOA,KAAKsB,KAAK,GAAGvB,IAAI,CAAC,CAACwB,GAAGC;YACzB,MAAMC,gBAAgBnB,QAAQoB,IAAI,CAAC,CAACC,SAASA,OAAOV,QAAQ,KAAKhB;YACjE,IAAI,CAAEwB,CAAAA,kBAAkB,QAAQA,kBAAkB,KAAK,IAAI,KAAK,IAAIA,cAAcG,OAAO,AAAD,GAAI;gBACxF,OAAO;YACX;YACA,MAAMC,MAAM3B,kBAAkB,cAAc,IAAI,CAAC;YACjD,OAAOuB,cAAcG,OAAO,CAACL,EAAEO,IAAI,EAAEN,EAAEM,IAAI,IAAID;QACnD;IACJ;IACA,MAAMhC,mBAAmB,CAACoB;QACtB,OAAOhB,eAAegB,WAAWf,gBAAgBN;IACrD;IACA,OAAO;QACH,GAAGS,UAAU;QACbN,MAAM;YACFA;YACAE;YACAC;YACAJ;YACAK;YACAN;QACJ;IACJ;AACJ"}
|
|
@@ -96,15 +96,13 @@ function getLength(state) {
|
|
|
96
96
|
return state.length;
|
|
97
97
|
}
|
|
98
98
|
function getColumnWidth(state, columnId) {
|
|
99
|
-
var _column;
|
|
100
99
|
const column = getColumnById(state, columnId);
|
|
101
100
|
var _column_width;
|
|
102
|
-
return (_column_width =
|
|
101
|
+
return (_column_width = column === null || column === void 0 ? void 0 : column.width) !== null && _column_width !== void 0 ? _column_width : 0;
|
|
103
102
|
}
|
|
104
103
|
function setColumnProperty(localState, columnId, property, value) {
|
|
105
|
-
var _currentColumn;
|
|
106
104
|
const currentColumn = getColumnById(localState, columnId);
|
|
107
|
-
if (!currentColumn || (
|
|
105
|
+
if (!currentColumn || (currentColumn === null || currentColumn === void 0 ? void 0 : currentColumn[property]) === value) {
|
|
108
106
|
return localState;
|
|
109
107
|
}
|
|
110
108
|
const updatedColumn = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["columnResizeUtils.js"],"sourcesContent":["const DEFAULT_WIDTH = 150;\nconst DEFAULT_MIN_WIDTH = 100;\n/**\n * This function takes the column definitions and the curent ColumnWidthState and returns new state.\n * - It uses existing state for existing columns.\n * - It removes any state for columns no longer present.\n * - It checks if any column has been replaced and returns updated state if so\n * - It returns old state if no changes in the state have been made (so that react doesn't call effects)\n * @param columns\n * @param state\n * @returns\n */ export function columnDefinitionsToState(columns, state = [], columnSizingOptions = {}) {\n let updated = false;\n const stateMap = new Map(state.map((s)=>[\n s.columnId,\n s\n ]));\n const updatedState = columns.map((column)=>{\n const existingColumnState = stateMap.get(column.columnId);\n if (existingColumnState) {\n var _columnSizingOptions_column_columnId;\n const { idealWidth = existingColumnState.idealWidth, minWidth = existingColumnState.minWidth, padding = existingColumnState.padding } = (_columnSizingOptions_column_columnId = columnSizingOptions[column.columnId]) !== null && _columnSizingOptions_column_columnId !== void 0 ? _columnSizingOptions_column_columnId : {};\n if (idealWidth !== existingColumnState.idealWidth || minWidth !== existingColumnState.minWidth || padding !== existingColumnState.padding) {\n updated = true;\n return {\n ...existingColumnState,\n idealWidth,\n width: idealWidth,\n minWidth,\n padding\n };\n }\n return existingColumnState;\n }\n var _columnSizingOptions_column_columnId1;\n const { defaultWidth, idealWidth = DEFAULT_WIDTH, minWidth = DEFAULT_MIN_WIDTH, padding } = (_columnSizingOptions_column_columnId1 = columnSizingOptions[column.columnId]) !== null && _columnSizingOptions_column_columnId1 !== void 0 ? _columnSizingOptions_column_columnId1 : {};\n updated = true;\n return {\n columnId: column.columnId,\n width: Math.max(defaultWidth !== null && defaultWidth !== void 0 ? defaultWidth : idealWidth, minWidth),\n minWidth,\n idealWidth: Math.max(defaultWidth !== null && defaultWidth !== void 0 ? defaultWidth : idealWidth, minWidth),\n padding: padding !== null && padding !== void 0 ? padding : 16\n };\n });\n // If the length of the new state changed (column was added or removed) or any of\n // the individual states has a new reference (column was replaced),\n // we have to reset the column widths to their ideal width (because the column which was last may not be last now).\n // Then the adjustColumnWidthsToFitContainer can do its job and properly stretch the last column.\n if (updatedState.length !== state.length || updated) {\n const column = updatedState.find((col)=>col.width > col.idealWidth);\n if (column) {\n column.width = column.idealWidth;\n }\n updated = true;\n }\n return updated ? updatedState : state;\n}\nexport function getColumnById(state, columnId) {\n return state.find((c)=>c.columnId === columnId);\n}\nexport function getColumnByIndex(state, index) {\n return state[index];\n}\nexport function getTotalWidth(state) {\n return state.reduce((sum, column)=>sum + column.width + column.padding, 0);\n}\nexport function getLength(state) {\n return state.length;\n}\nexport function getColumnWidth(state, columnId) {\n var _column;\n const column = getColumnById(state, columnId);\n var _column_width;\n return (_column_width = (_column = column) === null || _column === void 0 ? void 0 : _column.width) !== null && _column_width !== void 0 ? _column_width : 0;\n}\n/**\n * This function takes the current state and returns an updated state, so that it can be set.\n * The reason for this is that we can update the state multiple times before commiting to render.\n * This is an optimization and also prevents flickering.\n * It also returns new copy of the state only if the value is different than the one currently in\n * the state, further preventing unnecessary updates.\n * @param localState\n * @param columnId\n * @param property\n * @param value\n * @returns\n */ export function setColumnProperty(localState, columnId, property, value) {\n var _currentColumn;\n const currentColumn = getColumnById(localState, columnId);\n if (!currentColumn || ((_currentColumn = currentColumn) === null || _currentColumn === void 0 ? void 0 : _currentColumn[property]) === value) {\n return localState;\n }\n const updatedColumn = {\n ...currentColumn,\n [property]: value\n };\n const newState = localState.reduce((acc, current)=>{\n if (current.columnId === updatedColumn.columnId) {\n return [\n ...acc,\n updatedColumn\n ];\n }\n return [\n ...acc,\n current\n ];\n }, []);\n return newState;\n}\n/**\n * This function takes the state and container width and makes sure the each column in the state\n * is its optimal width, and that the columns\n * a) fit to the container\n * b) always fill the whole container\n * @param state\n * @param containerWidth\n * @returns\n */ export function adjustColumnWidthsToFitContainer(state, containerWidth) {\n let newState = state;\n const totalWidth = getTotalWidth(newState);\n // The total width is smaller, we are expanding columns\n if (totalWidth < containerWidth) {\n let difference = containerWidth - totalWidth;\n let i = 0;\n // We start at the beginning and assign the columns their ideal width\n while(i < newState.length && difference > 0){\n const currentCol = getColumnByIndex(newState, i);\n const colAdjustment = Math.min(currentCol.idealWidth - currentCol.width, difference);\n newState = setColumnProperty(newState, currentCol.columnId, 'width', currentCol.width + colAdjustment);\n difference -= colAdjustment;\n // if there is still empty space, after all columns are their ideal sizes, assign it to the last column\n if (i === newState.length - 1 && difference !== 0) {\n const lastCol = getColumnByIndex(newState, i);\n newState = setColumnProperty(newState, lastCol.columnId, 'width', lastCol.width + difference);\n }\n i++;\n }\n } else if (totalWidth >= containerWidth) {\n let difference = totalWidth - containerWidth;\n // We start with the last column\n let j = newState.length - 1;\n while(j >= 0 && difference > 0){\n const currentCol = getColumnByIndex(newState, j);\n if (currentCol.width > currentCol.minWidth) {\n const colAdjustment = Math.min(currentCol.width - currentCol.minWidth, difference);\n difference -= colAdjustment;\n newState = setColumnProperty(newState, currentCol.columnId, 'width', currentCol.width - colAdjustment);\n }\n j--;\n }\n }\n return newState;\n}\n"],"names":["columnDefinitionsToState","getColumnById","getColumnByIndex","getTotalWidth","getLength","getColumnWidth","setColumnProperty","adjustColumnWidthsToFitContainer","DEFAULT_WIDTH","DEFAULT_MIN_WIDTH","columns","state","columnSizingOptions","updated","stateMap","Map","map","s","columnId","updatedState","column","existingColumnState","get","_columnSizingOptions_column_columnId","idealWidth","minWidth","padding","width","_columnSizingOptions_column_columnId1","defaultWidth","Math","max","length","find","col","c","index","reduce","sum","_column","_column_width","localState","property","value","_currentColumn","currentColumn","updatedColumn","newState","acc","current","containerWidth","totalWidth","difference","i","currentCol","colAdjustment","min","lastCol","j"],"mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["columnResizeUtils.js"],"sourcesContent":["const DEFAULT_WIDTH = 150;\nconst DEFAULT_MIN_WIDTH = 100;\n/**\n * This function takes the column definitions and the curent ColumnWidthState and returns new state.\n * - It uses existing state for existing columns.\n * - It removes any state for columns no longer present.\n * - It checks if any column has been replaced and returns updated state if so\n * - It returns old state if no changes in the state have been made (so that react doesn't call effects)\n * @param columns\n * @param state\n * @returns\n */ export function columnDefinitionsToState(columns, state = [], columnSizingOptions = {}) {\n let updated = false;\n const stateMap = new Map(state.map((s)=>[\n s.columnId,\n s\n ]));\n const updatedState = columns.map((column)=>{\n const existingColumnState = stateMap.get(column.columnId);\n if (existingColumnState) {\n var _columnSizingOptions_column_columnId;\n const { idealWidth = existingColumnState.idealWidth, minWidth = existingColumnState.minWidth, padding = existingColumnState.padding } = (_columnSizingOptions_column_columnId = columnSizingOptions[column.columnId]) !== null && _columnSizingOptions_column_columnId !== void 0 ? _columnSizingOptions_column_columnId : {};\n if (idealWidth !== existingColumnState.idealWidth || minWidth !== existingColumnState.minWidth || padding !== existingColumnState.padding) {\n updated = true;\n return {\n ...existingColumnState,\n idealWidth,\n width: idealWidth,\n minWidth,\n padding\n };\n }\n return existingColumnState;\n }\n var _columnSizingOptions_column_columnId1;\n const { defaultWidth, idealWidth = DEFAULT_WIDTH, minWidth = DEFAULT_MIN_WIDTH, padding } = (_columnSizingOptions_column_columnId1 = columnSizingOptions[column.columnId]) !== null && _columnSizingOptions_column_columnId1 !== void 0 ? _columnSizingOptions_column_columnId1 : {};\n updated = true;\n return {\n columnId: column.columnId,\n width: Math.max(defaultWidth !== null && defaultWidth !== void 0 ? defaultWidth : idealWidth, minWidth),\n minWidth,\n idealWidth: Math.max(defaultWidth !== null && defaultWidth !== void 0 ? defaultWidth : idealWidth, minWidth),\n padding: padding !== null && padding !== void 0 ? padding : 16\n };\n });\n // If the length of the new state changed (column was added or removed) or any of\n // the individual states has a new reference (column was replaced),\n // we have to reset the column widths to their ideal width (because the column which was last may not be last now).\n // Then the adjustColumnWidthsToFitContainer can do its job and properly stretch the last column.\n if (updatedState.length !== state.length || updated) {\n const column = updatedState.find((col)=>col.width > col.idealWidth);\n if (column) {\n column.width = column.idealWidth;\n }\n updated = true;\n }\n return updated ? updatedState : state;\n}\nexport function getColumnById(state, columnId) {\n return state.find((c)=>c.columnId === columnId);\n}\nexport function getColumnByIndex(state, index) {\n return state[index];\n}\nexport function getTotalWidth(state) {\n return state.reduce((sum, column)=>sum + column.width + column.padding, 0);\n}\nexport function getLength(state) {\n return state.length;\n}\nexport function getColumnWidth(state, columnId) {\n const column = getColumnById(state, columnId);\n var _column_width;\n return (_column_width = column === null || column === void 0 ? void 0 : column.width) !== null && _column_width !== void 0 ? _column_width : 0;\n}\n/**\n * This function takes the current state and returns an updated state, so that it can be set.\n * The reason for this is that we can update the state multiple times before commiting to render.\n * This is an optimization and also prevents flickering.\n * It also returns new copy of the state only if the value is different than the one currently in\n * the state, further preventing unnecessary updates.\n * @param localState\n * @param columnId\n * @param property\n * @param value\n * @returns\n */ export function setColumnProperty(localState, columnId, property, value) {\n const currentColumn = getColumnById(localState, columnId);\n if (!currentColumn || (currentColumn === null || currentColumn === void 0 ? void 0 : currentColumn[property]) === value) {\n return localState;\n }\n const updatedColumn = {\n ...currentColumn,\n [property]: value\n };\n const newState = localState.reduce((acc, current)=>{\n if (current.columnId === updatedColumn.columnId) {\n return [\n ...acc,\n updatedColumn\n ];\n }\n return [\n ...acc,\n current\n ];\n }, []);\n return newState;\n}\n/**\n * This function takes the state and container width and makes sure the each column in the state\n * is its optimal width, and that the columns\n * a) fit to the container\n * b) always fill the whole container\n * @param state\n * @param containerWidth\n * @returns\n */ export function adjustColumnWidthsToFitContainer(state, containerWidth) {\n let newState = state;\n const totalWidth = getTotalWidth(newState);\n // The total width is smaller, we are expanding columns\n if (totalWidth < containerWidth) {\n let difference = containerWidth - totalWidth;\n let i = 0;\n // We start at the beginning and assign the columns their ideal width\n while(i < newState.length && difference > 0){\n const currentCol = getColumnByIndex(newState, i);\n const colAdjustment = Math.min(currentCol.idealWidth - currentCol.width, difference);\n newState = setColumnProperty(newState, currentCol.columnId, 'width', currentCol.width + colAdjustment);\n difference -= colAdjustment;\n // if there is still empty space, after all columns are their ideal sizes, assign it to the last column\n if (i === newState.length - 1 && difference !== 0) {\n const lastCol = getColumnByIndex(newState, i);\n newState = setColumnProperty(newState, lastCol.columnId, 'width', lastCol.width + difference);\n }\n i++;\n }\n } else if (totalWidth >= containerWidth) {\n let difference = totalWidth - containerWidth;\n // We start with the last column\n let j = newState.length - 1;\n while(j >= 0 && difference > 0){\n const currentCol = getColumnByIndex(newState, j);\n if (currentCol.width > currentCol.minWidth) {\n const colAdjustment = Math.min(currentCol.width - currentCol.minWidth, difference);\n difference -= colAdjustment;\n newState = setColumnProperty(newState, currentCol.columnId, 'width', currentCol.width - colAdjustment);\n }\n j--;\n }\n }\n return newState;\n}\n"],"names":["columnDefinitionsToState","getColumnById","getColumnByIndex","getTotalWidth","getLength","getColumnWidth","setColumnProperty","adjustColumnWidthsToFitContainer","DEFAULT_WIDTH","DEFAULT_MIN_WIDTH","columns","state","columnSizingOptions","updated","stateMap","Map","map","s","columnId","updatedState","column","existingColumnState","get","_columnSizingOptions_column_columnId","idealWidth","minWidth","padding","width","_columnSizingOptions_column_columnId1","defaultWidth","Math","max","length","find","col","c","index","reduce","sum","_column_width","localState","property","value","currentColumn","updatedColumn","newState","acc","current","containerWidth","totalWidth","difference","i","currentCol","colAdjustment","min","lastCol","j"],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
Object.defineProperty(exports, "isColumnSortable", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: function() {
|
|
8
|
+
return isColumnSortable;
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
function isColumnSortable(column) {
|
|
12
|
+
return column.compare.length > 0;
|
|
13
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["isColumnSortable.js"],"sourcesContent":["export function isColumnSortable(column) {\n return column.compare.length > 0;\n}\n"],"names":["isColumnSortable","column","compare","length"],"mappings":";;;;+BAAgBA;;;eAAAA;;;AAAT,SAASA,iBAAiBC,MAAM;IACnC,OAAOA,OAAOC,OAAO,CAACC,MAAM,GAAG;AACnC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@fluentui/react-table",
|
|
3
|
-
"version": "9.
|
|
3
|
+
"version": "9.9.1",
|
|
4
4
|
"description": "React components for building web experiences",
|
|
5
5
|
"main": "lib-commonjs/index.js",
|
|
6
6
|
"module": "lib/index.js",
|
|
@@ -35,18 +35,18 @@
|
|
|
35
35
|
"@fluentui/scripts-tasks": "*"
|
|
36
36
|
},
|
|
37
37
|
"dependencies": {
|
|
38
|
-
"@fluentui/keyboard-keys": "^9.0.
|
|
39
|
-
"@fluentui/react-aria": "^9.3.
|
|
40
|
-
"@fluentui/react-avatar": "^9.5.
|
|
41
|
-
"@fluentui/react-checkbox": "^9.1.
|
|
42
|
-
"@fluentui/react-context-selector": "^9.1.
|
|
43
|
-
"@fluentui/react-icons": "^2.0.
|
|
44
|
-
"@fluentui/react-radio": "^9.1.
|
|
45
|
-
"@fluentui/react-shared-contexts": "^9.
|
|
46
|
-
"@fluentui/react-tabster": "^9.
|
|
47
|
-
"@fluentui/react-theme": "^9.1.
|
|
48
|
-
"@fluentui/react-utilities": "^9.13.
|
|
49
|
-
"@fluentui/react-jsx-runtime": "^9.0.
|
|
38
|
+
"@fluentui/keyboard-keys": "^9.0.6",
|
|
39
|
+
"@fluentui/react-aria": "^9.3.38",
|
|
40
|
+
"@fluentui/react-avatar": "^9.5.34",
|
|
41
|
+
"@fluentui/react-checkbox": "^9.1.44",
|
|
42
|
+
"@fluentui/react-context-selector": "^9.1.36",
|
|
43
|
+
"@fluentui/react-icons": "^2.0.217",
|
|
44
|
+
"@fluentui/react-radio": "^9.1.44",
|
|
45
|
+
"@fluentui/react-shared-contexts": "^9.9.1",
|
|
46
|
+
"@fluentui/react-tabster": "^9.13.1",
|
|
47
|
+
"@fluentui/react-theme": "^9.1.14",
|
|
48
|
+
"@fluentui/react-utilities": "^9.13.5",
|
|
49
|
+
"@fluentui/react-jsx-runtime": "^9.0.12",
|
|
50
50
|
"@griffel/react": "^1.5.14",
|
|
51
51
|
"@swc/helpers": "^0.5.1"
|
|
52
52
|
},
|