Outlook_Addin_LLM/node_modules/@fluentui/react-table/lib-commonjs/hooks/useTableFeatures.js

63 lines
2.2 KiB
JavaScript

"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
function _export(target, all) {
for(var name in all)Object.defineProperty(target, name, {
enumerable: true,
get: all[name]
});
}
_export(exports, {
defaultTableState: function() {
return defaultTableState;
},
useTableFeatures: function() {
return useTableFeatures;
}
});
const _interop_require_wildcard = require("@swc/helpers/_/_interop_require_wildcard");
const _react = /*#__PURE__*/ _interop_require_wildcard._(require("react"));
const _useTableSelection = require("./useTableSelection");
const _useTableSort = require("./useTableSort");
const _useTableColumnSizing = require("./useTableColumnSizing");
const defaultRowEnhancer = (row)=>row;
const defaultTableState = {
selection: _useTableSelection.defaultTableSelectionState,
sort: _useTableSort.defaultTableSortState,
getRows: ()=>[],
getRowId: ()=>'',
items: [],
columns: [],
// eslint-disable-next-line @typescript-eslint/naming-convention
columnSizing_unstable: _useTableColumnSizing.defaultColumnSizingState,
tableRef: /*#__PURE__*/ _react.createRef()
};
function useTableFeatures(options, plugins = []) {
const { items, getRowId, columns } = options;
const getRows = _react.useCallback((rowEnhancer = defaultRowEnhancer)=>{
return items.map((item, i)=>{
var _getRowId;
return rowEnhancer({
item,
rowId: (_getRowId = getRowId === null || getRowId === void 0 ? void 0 : getRowId(item)) !== null && _getRowId !== void 0 ? _getRowId : i
});
});
}, [
items,
getRowId
]);
const initialState = {
getRowId,
items,
columns,
getRows,
selection: _useTableSelection.defaultTableSelectionState,
sort: _useTableSort.defaultTableSortState,
// eslint-disable-next-line @typescript-eslint/naming-convention
columnSizing_unstable: _useTableColumnSizing.defaultColumnSizingState,
tableRef: /*#__PURE__*/ _react.createRef()
};
return plugins.reduce((state, plugin)=>plugin(state), initialState);
}