@fluentui/react-table 9.6.0 → 9.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.
- package/CHANGELOG.json +116 -1
- package/CHANGELOG.md +33 -2
- package/lib/components/TableHeaderCell/useTableHeaderCellStyles.styles.js +2 -10
- package/lib/components/TableHeaderCell/useTableHeaderCellStyles.styles.js.map +1 -1
- package/lib/components/TableResizeHandle/useTableResizeHandleStyles.styles.js +3 -0
- package/lib/components/TableResizeHandle/useTableResizeHandleStyles.styles.js.map +1 -1
- package/lib/hooks/useKeyboardResizing.js +60 -37
- package/lib/hooks/useKeyboardResizing.js.map +1 -1
- package/lib/hooks/useTableColumnSizing.js +4 -7
- package/lib/hooks/useTableColumnSizing.js.map +1 -1
- package/lib/hooks/useTableSelection.js +51 -2
- package/lib/hooks/useTableSelection.js.map +1 -1
- package/lib-commonjs/components/TableHeaderCell/useTableHeaderCellStyles.styles.js +1 -27
- package/lib-commonjs/components/TableHeaderCell/useTableHeaderCellStyles.styles.js.map +1 -1
- package/lib-commonjs/components/TableResizeHandle/useTableResizeHandleStyles.styles.js +6 -0
- package/lib-commonjs/components/TableResizeHandle/useTableResizeHandleStyles.styles.js.map +1 -1
- package/lib-commonjs/hooks/useKeyboardResizing.js +58 -37
- package/lib-commonjs/hooks/useKeyboardResizing.js.map +1 -1
- package/lib-commonjs/hooks/useTableColumnSizing.js +4 -8
- package/lib-commonjs/hooks/useTableColumnSizing.js.map +1 -1
- package/lib-commonjs/hooks/useTableSelection.js +52 -2
- package/lib-commonjs/hooks/useTableSelection.js.map +1 -1
- package/package.json +10 -10
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["useTableSelection.js"],"sourcesContent":["import { 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 const toggleAllRows = useEventCallback((e)=>{\n var _getRowId;\n selectionMethods.toggleAllItems(e, items.map((item, i)=>{\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
|
|
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 var _getRowId;\n selectionMethods.toggleAllItems(e, items.map((item, i)=>{\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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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@fluentui/react-table",
|
|
3
|
-
"version": "9.
|
|
3
|
+
"version": "9.7.0",
|
|
4
4
|
"description": "React components for building web experiences",
|
|
5
5
|
"main": "lib-commonjs/index.js",
|
|
6
6
|
"module": "lib/index.js",
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
"license": "MIT",
|
|
14
14
|
"scripts": {
|
|
15
15
|
"build": "just-scripts build",
|
|
16
|
-
"bundle-size": "
|
|
16
|
+
"bundle-size": "monosize measure",
|
|
17
17
|
"clean": "just-scripts clean",
|
|
18
18
|
"code-style": "just-scripts code-style",
|
|
19
19
|
"e2e": "cypress run --component",
|
|
@@ -30,23 +30,23 @@
|
|
|
30
30
|
"devDependencies": {
|
|
31
31
|
"@fluentui/eslint-plugin": "*",
|
|
32
32
|
"@fluentui/react-conformance": "*",
|
|
33
|
-
"@fluentui/react-conformance-griffel": "
|
|
33
|
+
"@fluentui/react-conformance-griffel": "*",
|
|
34
34
|
"@fluentui/scripts-api-extractor": "*",
|
|
35
35
|
"@fluentui/scripts-tasks": "*"
|
|
36
36
|
},
|
|
37
37
|
"dependencies": {
|
|
38
38
|
"@fluentui/keyboard-keys": "^9.0.3",
|
|
39
|
-
"@fluentui/react-aria": "^9.3.
|
|
40
|
-
"@fluentui/react-avatar": "^9.5.
|
|
41
|
-
"@fluentui/react-checkbox": "^9.1.
|
|
39
|
+
"@fluentui/react-aria": "^9.3.27",
|
|
40
|
+
"@fluentui/react-avatar": "^9.5.14",
|
|
41
|
+
"@fluentui/react-checkbox": "^9.1.26",
|
|
42
42
|
"@fluentui/react-context-selector": "^9.1.26",
|
|
43
|
-
"@fluentui/react-icons": "^2.0.
|
|
44
|
-
"@fluentui/react-radio": "^9.1.
|
|
43
|
+
"@fluentui/react-icons": "^2.0.207",
|
|
44
|
+
"@fluentui/react-radio": "^9.1.26",
|
|
45
45
|
"@fluentui/react-shared-contexts": "^9.6.0",
|
|
46
|
-
"@fluentui/react-tabster": "^9.
|
|
46
|
+
"@fluentui/react-tabster": "^9.11.0",
|
|
47
47
|
"@fluentui/react-theme": "^9.1.9",
|
|
48
48
|
"@fluentui/react-utilities": "^9.10.1",
|
|
49
|
-
"@fluentui/react-jsx-runtime": "9.0.0-alpha.
|
|
49
|
+
"@fluentui/react-jsx-runtime": "9.0.0-alpha.12",
|
|
50
50
|
"@griffel/react": "^1.5.7",
|
|
51
51
|
"@swc/helpers": "^0.4.14"
|
|
52
52
|
},
|