@fluentui/react-table 9.11.14 → 9.12.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 (82) hide show
  1. package/CHANGELOG.md +32 -2
  2. package/lib/components/DataGridCell/DataGridCell.types.js +1 -3
  3. package/lib/components/DataGridCell/DataGridCell.types.js.map +1 -1
  4. package/lib/components/DataGridHeader/DataGridHeader.types.js +1 -3
  5. package/lib/components/DataGridHeader/DataGridHeader.types.js.map +1 -1
  6. package/lib/components/DataGridHeaderCell/DataGridHeaderCell.types.js +1 -3
  7. package/lib/components/DataGridHeaderCell/DataGridHeaderCell.types.js.map +1 -1
  8. package/lib/components/DataGridSelectionCell/DataGridSelectionCell.types.js +1 -3
  9. package/lib/components/DataGridSelectionCell/DataGridSelectionCell.types.js.map +1 -1
  10. package/lib/components/Table/Table.types.js +1 -3
  11. package/lib/components/Table/Table.types.js.map +1 -1
  12. package/lib/components/TableBody/TableBody.types.js +1 -3
  13. package/lib/components/TableBody/TableBody.types.js.map +1 -1
  14. package/lib/components/TableCell/TableCell.types.js +1 -3
  15. package/lib/components/TableCell/TableCell.types.js.map +1 -1
  16. package/lib/components/TableCellActions/TableCellActions.types.js +1 -3
  17. package/lib/components/TableCellActions/TableCellActions.types.js.map +1 -1
  18. package/lib/components/TableCellLayout/TableCellLayout.types.js +1 -3
  19. package/lib/components/TableCellLayout/TableCellLayout.types.js.map +1 -1
  20. package/lib/components/TableHeader/TableHeader.types.js +1 -3
  21. package/lib/components/TableHeader/TableHeader.types.js.map +1 -1
  22. package/lib/components/TableHeaderCell/TableHeaderCell.types.js +1 -3
  23. package/lib/components/TableHeaderCell/TableHeaderCell.types.js.map +1 -1
  24. package/lib/components/TableResizeHandle/TableResizeHandle.types.js +1 -3
  25. package/lib/components/TableResizeHandle/TableResizeHandle.types.js.map +1 -1
  26. package/lib/components/TableRow/TableRow.types.js +1 -3
  27. package/lib/components/TableRow/TableRow.types.js.map +1 -1
  28. package/lib/components/TableSelectionCell/TableSelectionCell.types.js +1 -3
  29. package/lib/components/TableSelectionCell/TableSelectionCell.types.js.map +1 -1
  30. package/lib/hooks/useMeasureElement.js +18 -10
  31. package/lib/hooks/useMeasureElement.js.map +1 -1
  32. package/lib/hooks/useTableColumnResizeMouseHandler.js +6 -1
  33. package/lib/hooks/useTableColumnResizeMouseHandler.js.map +1 -1
  34. package/lib/hooks/useTableColumnSizing.js +9 -4
  35. package/lib/hooks/useTableColumnSizing.js.map +1 -1
  36. package/lib-commonjs/components/DataGridCell/DataGridCell.types.js +1 -3
  37. package/lib-commonjs/components/DataGridCell/DataGridCell.types.js.map +1 -1
  38. package/lib-commonjs/components/DataGridHeader/DataGridHeader.types.js +1 -3
  39. package/lib-commonjs/components/DataGridHeader/DataGridHeader.types.js.map +1 -1
  40. package/lib-commonjs/components/DataGridHeaderCell/DataGridHeaderCell.types.js +1 -3
  41. package/lib-commonjs/components/DataGridHeaderCell/DataGridHeaderCell.types.js.map +1 -1
  42. package/lib-commonjs/components/DataGridSelectionCell/DataGridSelectionCell.types.js +1 -3
  43. package/lib-commonjs/components/DataGridSelectionCell/DataGridSelectionCell.types.js.map +1 -1
  44. package/lib-commonjs/components/Table/Table.types.js +1 -3
  45. package/lib-commonjs/components/Table/Table.types.js.map +1 -1
  46. package/lib-commonjs/components/TableBody/TableBody.types.js +1 -3
  47. package/lib-commonjs/components/TableBody/TableBody.types.js.map +1 -1
  48. package/lib-commonjs/components/TableCell/TableCell.types.js +1 -3
  49. package/lib-commonjs/components/TableCell/TableCell.types.js.map +1 -1
  50. package/lib-commonjs/components/TableCellActions/TableCellActions.types.js +1 -3
  51. package/lib-commonjs/components/TableCellActions/TableCellActions.types.js.map +1 -1
  52. package/lib-commonjs/components/TableCellLayout/TableCellLayout.types.js +1 -3
  53. package/lib-commonjs/components/TableCellLayout/TableCellLayout.types.js.map +1 -1
  54. package/lib-commonjs/components/TableHeader/TableHeader.types.js +1 -3
  55. package/lib-commonjs/components/TableHeader/TableHeader.types.js.map +1 -1
  56. package/lib-commonjs/components/TableHeaderCell/TableHeaderCell.types.js +1 -3
  57. package/lib-commonjs/components/TableHeaderCell/TableHeaderCell.types.js.map +1 -1
  58. package/lib-commonjs/components/TableResizeHandle/TableResizeHandle.types.js +1 -3
  59. package/lib-commonjs/components/TableResizeHandle/TableResizeHandle.types.js.map +1 -1
  60. package/lib-commonjs/components/TableRow/TableRow.types.js +1 -3
  61. package/lib-commonjs/components/TableRow/TableRow.types.js.map +1 -1
  62. package/lib-commonjs/components/TableSelectionCell/TableSelectionCell.types.js +1 -3
  63. package/lib-commonjs/components/TableSelectionCell/TableSelectionCell.types.js.map +1 -1
  64. package/lib-commonjs/contexts/columnIdContext.js +3 -3
  65. package/lib-commonjs/contexts/columnIdContext.js.map +1 -1
  66. package/lib-commonjs/contexts/dataGridContext.js +3 -3
  67. package/lib-commonjs/contexts/dataGridContext.js.map +1 -1
  68. package/lib-commonjs/contexts/rowIdContext.js +3 -3
  69. package/lib-commonjs/contexts/rowIdContext.js.map +1 -1
  70. package/lib-commonjs/contexts/tableContext.js +3 -3
  71. package/lib-commonjs/contexts/tableContext.js.map +1 -1
  72. package/lib-commonjs/hooks/useMeasureElement.js +21 -13
  73. package/lib-commonjs/hooks/useMeasureElement.js.map +1 -1
  74. package/lib-commonjs/hooks/useTableColumnResizeMouseHandler.js +6 -1
  75. package/lib-commonjs/hooks/useTableColumnResizeMouseHandler.js.map +1 -1
  76. package/lib-commonjs/hooks/useTableColumnSizing.js +9 -4
  77. package/lib-commonjs/hooks/useTableColumnSizing.js.map +1 -1
  78. package/lib-commonjs/index.js +213 -213
  79. package/lib-commonjs/index.js.map +1 -1
  80. package/lib-commonjs/utils/columnResizeUtils.js +7 -7
  81. package/lib-commonjs/utils/columnResizeUtils.js.map +1 -1
  82. package/package.json +11 -11
@@ -1 +1 @@
1
- {"version":3,"sources":["TableCell.types.js"],"sourcesContent":["/**\n * State used in rendering TableCell\n */ export { };\n"],"names":[],"mappings":"AAAA;;CAEC"}
1
+ {"version":3,"sources":[],"names":[],"mappings":""}
@@ -1,6 +1,4 @@
1
- /**
2
- * State used in rendering TableCellActions
3
- */ "use strict";
1
+ "use strict";
4
2
  Object.defineProperty(exports, "__esModule", {
5
3
  value: true
6
4
  });
@@ -1 +1 @@
1
- {"version":3,"sources":["TableCellActions.types.js"],"sourcesContent":["/**\n * State used in rendering TableCellActions\n */ export { };\n"],"names":[],"mappings":"AAAA;;CAEC"}
1
+ {"version":3,"sources":[],"names":[],"mappings":""}
@@ -1,6 +1,4 @@
1
- /**
2
- * State used in rendering TableCellLayout
3
- */ "use strict";
1
+ "use strict";
4
2
  Object.defineProperty(exports, "__esModule", {
5
3
  value: true
6
4
  });
@@ -1 +1 @@
1
- {"version":3,"sources":["TableCellLayout.types.js"],"sourcesContent":["/**\n * State used in rendering TableCellLayout\n */ export { };\n"],"names":[],"mappings":"AAAA;;CAEC"}
1
+ {"version":3,"sources":[],"names":[],"mappings":""}
@@ -1,6 +1,4 @@
1
- /**
2
- * State used in rendering TableHeader
3
- */ "use strict";
1
+ "use strict";
4
2
  Object.defineProperty(exports, "__esModule", {
5
3
  value: true
6
4
  });
@@ -1 +1 @@
1
- {"version":3,"sources":["TableHeader.types.js"],"sourcesContent":["/**\n * State used in rendering TableHeader\n */ export { };\n"],"names":[],"mappings":"AAAA;;CAEC"}
1
+ {"version":3,"sources":[],"names":[],"mappings":""}
@@ -1,6 +1,4 @@
1
- /**
2
- * State used in rendering TableHeaderCell
3
- */ "use strict";
1
+ "use strict";
4
2
  Object.defineProperty(exports, "__esModule", {
5
3
  value: true
6
4
  });
@@ -1 +1 @@
1
- {"version":3,"sources":["TableHeaderCell.types.js"],"sourcesContent":["/**\n * State used in rendering TableHeaderCell\n */ export { };\n"],"names":[],"mappings":"AAAA;;CAEC"}
1
+ {"version":3,"sources":[],"names":[],"mappings":""}
@@ -1,6 +1,4 @@
1
- /**
2
- * State used in rendering TableResizeHandle
3
- */ "use strict";
1
+ "use strict";
4
2
  Object.defineProperty(exports, "__esModule", {
5
3
  value: true
6
4
  });
@@ -1 +1 @@
1
- {"version":3,"sources":["TableResizeHandle.types.js"],"sourcesContent":["/**\n * State used in rendering TableResizeHandle\n */ export { };\n"],"names":[],"mappings":"AAAA;;CAEC"}
1
+ {"version":3,"sources":[],"names":[],"mappings":""}
@@ -1,6 +1,4 @@
1
- /**
2
- * State used in rendering TableRow
3
- */ "use strict";
1
+ "use strict";
4
2
  Object.defineProperty(exports, "__esModule", {
5
3
  value: true
6
4
  });
@@ -1 +1 @@
1
- {"version":3,"sources":["TableRow.types.js"],"sourcesContent":["/**\n * State used in rendering TableRow\n */ export { };\n"],"names":[],"mappings":"AAAA;;CAEC"}
1
+ {"version":3,"sources":[],"names":[],"mappings":""}
@@ -1,6 +1,4 @@
1
- /**
2
- * State used in rendering TableSelectionCell
3
- */ "use strict";
1
+ "use strict";
4
2
  Object.defineProperty(exports, "__esModule", {
5
3
  value: true
6
4
  });
@@ -1 +1 @@
1
- {"version":3,"sources":["TableSelectionCell.types.js"],"sourcesContent":["/**\n * State used in rendering TableSelectionCell\n */ export { };\n"],"names":[],"mappings":"AAAA;;CAEC"}
1
+ {"version":3,"sources":[],"names":[],"mappings":""}
@@ -9,14 +9,14 @@ function _export(target, all) {
9
9
  });
10
10
  }
11
11
  _export(exports, {
12
- ColumnIdContextProvider: function() {
13
- return ColumnIdContextProvider;
14
- },
15
12
  columnIdContextDefaultValue: function() {
16
13
  return columnIdContextDefaultValue;
17
14
  },
18
15
  useColumnIdContext: function() {
19
16
  return useColumnIdContext;
17
+ },
18
+ ColumnIdContextProvider: function() {
19
+ return ColumnIdContextProvider;
20
20
  }
21
21
  });
22
22
  const _interop_require_wildcard = require("@swc/helpers/_/_interop_require_wildcard");
@@ -1 +1 @@
1
- {"version":3,"sources":["columnIdContext.js"],"sourcesContent":["import * as React from 'react';\nconst columnIdContext = React.createContext(undefined);\nexport const columnIdContextDefaultValue = '';\nexport const useColumnIdContext = ()=>{\n var _React_useContext;\n return (_React_useContext = React.useContext(columnIdContext)) !== null && _React_useContext !== void 0 ? _React_useContext : columnIdContextDefaultValue;\n};\nexport const ColumnIdContextProvider = columnIdContext.Provider;\n"],"names":["ColumnIdContextProvider","columnIdContextDefaultValue","useColumnIdContext","columnIdContext","React","createContext","undefined","_React_useContext","useContext","Provider"],"mappings":";;;;;;;;;;;IAOaA,uBAAuB;eAAvBA;;IALAC,2BAA2B;eAA3BA;;IACAC,kBAAkB;eAAlBA;;;;iEAHU;AACvB,MAAMC,gCAAkBC,OAAMC,aAAa,CAACC;AACrC,MAAML,8BAA8B;AACpC,MAAMC,qBAAqB;IAC9B,IAAIK;IACJ,OAAO,AAACA,CAAAA,oBAAoBH,OAAMI,UAAU,CAACL,gBAAe,MAAO,QAAQI,sBAAsB,KAAK,IAAIA,oBAAoBN;AAClI;AACO,MAAMD,0BAA0BG,gBAAgBM,QAAQ"}
1
+ {"version":3,"sources":["columnIdContext.js"],"sourcesContent":["import * as React from 'react';\nconst columnIdContext = React.createContext(undefined);\nexport const columnIdContextDefaultValue = '';\nexport const useColumnIdContext = ()=>{\n var _React_useContext;\n return (_React_useContext = React.useContext(columnIdContext)) !== null && _React_useContext !== void 0 ? _React_useContext : columnIdContextDefaultValue;\n};\nexport const ColumnIdContextProvider = columnIdContext.Provider;\n"],"names":["columnIdContextDefaultValue","useColumnIdContext","ColumnIdContextProvider","columnIdContext","React","createContext","undefined","_React_useContext","useContext","Provider"],"mappings":";;;;;;;;;;;IAEaA,2BAA2B;eAA3BA;;IACAC,kBAAkB;eAAlBA;;IAIAC,uBAAuB;eAAvBA;;;;iEAPU;AACvB,MAAMC,gCAAkBC,OAAMC,aAAa,CAACC;AACrC,MAAMN,8BAA8B;AACpC,MAAMC,qBAAqB;IAC9B,IAAIM;IACJ,OAAO,AAACA,CAAAA,oBAAoBH,OAAMI,UAAU,CAACL,gBAAe,MAAO,QAAQI,sBAAsB,KAAK,IAAIA,oBAAoBP;AAClI;AACO,MAAME,0BAA0BC,gBAAgBM,QAAQ"}
@@ -9,12 +9,12 @@ function _export(target, all) {
9
9
  });
10
10
  }
11
11
  _export(exports, {
12
- DataGridContextProvider: function() {
13
- return DataGridContextProvider;
14
- },
15
12
  dataGridContextDefaultValue: function() {
16
13
  return dataGridContextDefaultValue;
17
14
  },
15
+ DataGridContextProvider: function() {
16
+ return DataGridContextProvider;
17
+ },
18
18
  useDataGridContext_unstable: function() {
19
19
  return useDataGridContext_unstable;
20
20
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["dataGridContext.js"],"sourcesContent":["import { createContext, useContextSelector } from '@fluentui/react-context-selector';\nimport { defaultTableState } from '../hooks';\nconst dataGridContext = createContext(undefined);\nexport const dataGridContextDefaultValue = {\n ...defaultTableState,\n subtleSelection: false,\n selectableRows: false,\n selectionAppearance: 'brand',\n focusMode: 'none',\n compositeRowTabsterAttribute: {}\n};\nexport const DataGridContextProvider = dataGridContext.Provider;\nexport const useDataGridContext_unstable = (selector)=>useContextSelector(dataGridContext, (ctx = dataGridContextDefaultValue)=>selector(ctx));\n"],"names":["DataGridContextProvider","dataGridContextDefaultValue","useDataGridContext_unstable","dataGridContext","createContext","undefined","defaultTableState","subtleSelection","selectableRows","selectionAppearance","focusMode","compositeRowTabsterAttribute","Provider","selector","useContextSelector","ctx"],"mappings":";;;;;;;;;;;IAWaA,uBAAuB;eAAvBA;;IARAC,2BAA2B;eAA3BA;;IASAC,2BAA2B;eAA3BA;;;sCAZqC;uBAChB;AAClC,MAAMC,kBAAkBC,IAAAA,mCAAa,EAACC;AAC/B,MAAMJ,8BAA8B;IACvC,GAAGK,wBAAiB;IACpBC,iBAAiB;IACjBC,gBAAgB;IAChBC,qBAAqB;IACrBC,WAAW;IACXC,8BAA8B,CAAC;AACnC;AACO,MAAMX,0BAA0BG,gBAAgBS,QAAQ;AACxD,MAAMV,8BAA8B,CAACW,WAAWC,IAAAA,wCAAkB,EAACX,iBAAiB,CAACY,MAAMd,2BAA2B,GAAGY,SAASE"}
1
+ {"version":3,"sources":["dataGridContext.js"],"sourcesContent":["import { createContext, useContextSelector } from '@fluentui/react-context-selector';\nimport { defaultTableState } from '../hooks';\nconst dataGridContext = createContext(undefined);\nexport const dataGridContextDefaultValue = {\n ...defaultTableState,\n subtleSelection: false,\n selectableRows: false,\n selectionAppearance: 'brand',\n focusMode: 'none',\n compositeRowTabsterAttribute: {}\n};\nexport const DataGridContextProvider = dataGridContext.Provider;\nexport const useDataGridContext_unstable = (selector)=>useContextSelector(dataGridContext, (ctx = dataGridContextDefaultValue)=>selector(ctx));\n"],"names":["dataGridContextDefaultValue","DataGridContextProvider","useDataGridContext_unstable","dataGridContext","createContext","undefined","defaultTableState","subtleSelection","selectableRows","selectionAppearance","focusMode","compositeRowTabsterAttribute","Provider","selector","useContextSelector","ctx"],"mappings":";;;;;;;;;;;IAGaA,2BAA2B;eAA3BA;;IAQAC,uBAAuB;eAAvBA;;IACAC,2BAA2B;eAA3BA;;;sCAZqC;uBAChB;AAClC,MAAMC,kBAAkBC,IAAAA,mCAAa,EAACC;AAC/B,MAAML,8BAA8B;IACvC,GAAGM,wBAAiB;IACpBC,iBAAiB;IACjBC,gBAAgB;IAChBC,qBAAqB;IACrBC,WAAW;IACXC,8BAA8B,CAAC;AACnC;AACO,MAAMV,0BAA0BE,gBAAgBS,QAAQ;AACxD,MAAMV,8BAA8B,CAACW,WAAWC,IAAAA,wCAAkB,EAACX,iBAAiB,CAACY,MAAMf,2BAA2B,GAAGa,SAASE"}
@@ -9,14 +9,14 @@ function _export(target, all) {
9
9
  });
10
10
  }
11
11
  _export(exports, {
12
- TableRowIdContextProvider: function() {
13
- return TableRowIdContextProvider;
14
- },
15
12
  tableRowIdContextDefaultValue: function() {
16
13
  return tableRowIdContextDefaultValue;
17
14
  },
18
15
  useTableRowIdContext: function() {
19
16
  return useTableRowIdContext;
17
+ },
18
+ TableRowIdContextProvider: function() {
19
+ return TableRowIdContextProvider;
20
20
  }
21
21
  });
22
22
  const _interop_require_wildcard = require("@swc/helpers/_/_interop_require_wildcard");
@@ -1 +1 @@
1
- {"version":3,"sources":["rowIdContext.js"],"sourcesContent":["import * as React from 'react';\nconst rowIdContext = React.createContext(undefined);\nexport const tableRowIdContextDefaultValue = '';\nexport const useTableRowIdContext = ()=>{\n var _React_useContext;\n return (_React_useContext = React.useContext(rowIdContext)) !== null && _React_useContext !== void 0 ? _React_useContext : tableRowIdContextDefaultValue;\n};\nexport const TableRowIdContextProvider = rowIdContext.Provider;\n"],"names":["TableRowIdContextProvider","tableRowIdContextDefaultValue","useTableRowIdContext","rowIdContext","React","createContext","undefined","_React_useContext","useContext","Provider"],"mappings":";;;;;;;;;;;IAOaA,yBAAyB;eAAzBA;;IALAC,6BAA6B;eAA7BA;;IACAC,oBAAoB;eAApBA;;;;iEAHU;AACvB,MAAMC,6BAAeC,OAAMC,aAAa,CAACC;AAClC,MAAML,gCAAgC;AACtC,MAAMC,uBAAuB;IAChC,IAAIK;IACJ,OAAO,AAACA,CAAAA,oBAAoBH,OAAMI,UAAU,CAACL,aAAY,MAAO,QAAQI,sBAAsB,KAAK,IAAIA,oBAAoBN;AAC/H;AACO,MAAMD,4BAA4BG,aAAaM,QAAQ"}
1
+ {"version":3,"sources":["rowIdContext.js"],"sourcesContent":["import * as React from 'react';\nconst rowIdContext = React.createContext(undefined);\nexport const tableRowIdContextDefaultValue = '';\nexport const useTableRowIdContext = ()=>{\n var _React_useContext;\n return (_React_useContext = React.useContext(rowIdContext)) !== null && _React_useContext !== void 0 ? _React_useContext : tableRowIdContextDefaultValue;\n};\nexport const TableRowIdContextProvider = rowIdContext.Provider;\n"],"names":["tableRowIdContextDefaultValue","useTableRowIdContext","TableRowIdContextProvider","rowIdContext","React","createContext","undefined","_React_useContext","useContext","Provider"],"mappings":";;;;;;;;;;;IAEaA,6BAA6B;eAA7BA;;IACAC,oBAAoB;eAApBA;;IAIAC,yBAAyB;eAAzBA;;;;iEAPU;AACvB,MAAMC,6BAAeC,OAAMC,aAAa,CAACC;AAClC,MAAMN,gCAAgC;AACtC,MAAMC,uBAAuB;IAChC,IAAIM;IACJ,OAAO,AAACA,CAAAA,oBAAoBH,OAAMI,UAAU,CAACL,aAAY,MAAO,QAAQI,sBAAsB,KAAK,IAAIA,oBAAoBP;AAC/H;AACO,MAAME,4BAA4BC,aAAaM,QAAQ"}
@@ -9,12 +9,12 @@ function _export(target, all) {
9
9
  });
10
10
  }
11
11
  _export(exports, {
12
- TableContextProvider: function() {
13
- return TableContextProvider;
14
- },
15
12
  tableContextDefaultValue: function() {
16
13
  return tableContextDefaultValue;
17
14
  },
15
+ TableContextProvider: function() {
16
+ return TableContextProvider;
17
+ },
18
18
  useTableContext: function() {
19
19
  return useTableContext;
20
20
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["tableContext.js"],"sourcesContent":["import * as React from 'react';\nconst tableContext = React.createContext(undefined);\nexport const tableContextDefaultValue = {\n size: 'medium',\n noNativeElements: false,\n sortable: false\n};\nexport const TableContextProvider = tableContext.Provider;\nexport const useTableContext = ()=>{\n var _React_useContext;\n return (_React_useContext = React.useContext(tableContext)) !== null && _React_useContext !== void 0 ? _React_useContext : tableContextDefaultValue;\n};\n"],"names":["TableContextProvider","tableContextDefaultValue","useTableContext","tableContext","React","createContext","undefined","size","noNativeElements","sortable","Provider","_React_useContext","useContext"],"mappings":";;;;;;;;;;;IAOaA,oBAAoB;eAApBA;;IALAC,wBAAwB;eAAxBA;;IAMAC,eAAe;eAAfA;;;;iEARU;AACvB,MAAMC,6BAAeC,OAAMC,aAAa,CAACC;AAClC,MAAML,2BAA2B;IACpCM,MAAM;IACNC,kBAAkB;IAClBC,UAAU;AACd;AACO,MAAMT,uBAAuBG,aAAaO,QAAQ;AAClD,MAAMR,kBAAkB;IAC3B,IAAIS;IACJ,OAAO,AAACA,CAAAA,oBAAoBP,OAAMQ,UAAU,CAACT,aAAY,MAAO,QAAQQ,sBAAsB,KAAK,IAAIA,oBAAoBV;AAC/H"}
1
+ {"version":3,"sources":["tableContext.js"],"sourcesContent":["import * as React from 'react';\nconst tableContext = React.createContext(undefined);\nexport const tableContextDefaultValue = {\n size: 'medium',\n noNativeElements: false,\n sortable: false\n};\nexport const TableContextProvider = tableContext.Provider;\nexport const useTableContext = ()=>{\n var _React_useContext;\n return (_React_useContext = React.useContext(tableContext)) !== null && _React_useContext !== void 0 ? _React_useContext : tableContextDefaultValue;\n};\n"],"names":["tableContextDefaultValue","TableContextProvider","useTableContext","tableContext","React","createContext","undefined","size","noNativeElements","sortable","Provider","_React_useContext","useContext"],"mappings":";;;;;;;;;;;IAEaA,wBAAwB;eAAxBA;;IAKAC,oBAAoB;eAApBA;;IACAC,eAAe;eAAfA;;;;iEARU;AACvB,MAAMC,6BAAeC,OAAMC,aAAa,CAACC;AAClC,MAAMN,2BAA2B;IACpCO,MAAM;IACNC,kBAAkB;IAClBC,UAAU;AACd;AACO,MAAMR,uBAAuBE,aAAaO,QAAQ;AAClD,MAAMR,kBAAkB;IAC3B,IAAIS;IACJ,OAAO,AAACA,CAAAA,oBAAoBP,OAAMQ,UAAU,CAACT,aAAY,MAAO,QAAQQ,sBAAsB,KAAK,IAAIA,oBAAoBX;AAC/H"}
@@ -9,11 +9,11 @@ function _export(target, all) {
9
9
  });
10
10
  }
11
11
  _export(exports, {
12
- createResizeObserverFromDocument: function() {
13
- return createResizeObserverFromDocument;
14
- },
15
12
  useMeasureElement: function() {
16
13
  return useMeasureElement;
14
+ },
15
+ createResizeObserverFromDocument: function() {
16
+ return createResizeObserverFromDocument;
17
17
  }
18
18
  });
19
19
  const _interop_require_wildcard = require("@swc/helpers/_/_interop_require_wildcard");
@@ -22,6 +22,7 @@ const _reactsharedcontexts = require("@fluentui/react-shared-contexts");
22
22
  function useMeasureElement() {
23
23
  const [width, setWidth] = _react.useState(0);
24
24
  const container = _react.useRef(undefined);
25
+ const resizeObserverRef = _react.useRef(null);
25
26
  const { targetDocument } = (0, _reactsharedcontexts.useFluent_unstable)();
26
27
  // the handler for resize observer
27
28
  const handleResize = _react.useCallback(()=>{
@@ -29,31 +30,38 @@ function useMeasureElement() {
29
30
  const containerWidth = (_container_current = container.current) === null || _container_current === void 0 ? void 0 : _container_current.getBoundingClientRect().width;
30
31
  setWidth(containerWidth || 0);
31
32
  }, []);
32
- // Keep the reference of ResizeObserver in the state, as it should live through renders
33
- const [resizeObserver] = _react.useState(()=>createResizeObserverFromDocument(targetDocument, handleResize));
34
33
  const measureElementRef = _react.useCallback((el)=>{
35
- if (!targetDocument || !resizeObserver) {
34
+ if (!targetDocument) {
36
35
  return;
37
36
  }
38
- // cleanup previous container
39
- if (container.current) {
40
- resizeObserver.unobserve(container.current);
37
+ // if the element is removed, stop observing it
38
+ if (!el && resizeObserverRef.current && container.current) {
39
+ resizeObserverRef.current.unobserve(container.current);
41
40
  }
42
41
  container.current = undefined;
43
42
  if (el === null || el === void 0 ? void 0 : el.parentElement) {
43
+ var _resizeObserverRef_current;
44
44
  container.current = el.parentElement;
45
- resizeObserver.observe(container.current);
46
45
  handleResize();
46
+ (_resizeObserverRef_current = resizeObserverRef.current) === null || _resizeObserverRef_current === void 0 ? void 0 : _resizeObserverRef_current.observe(container.current);
47
47
  }
48
48
  }, [
49
49
  targetDocument,
50
- resizeObserver,
51
50
  handleResize
52
51
  ]);
53
52
  _react.useEffect(()=>{
54
- return ()=>resizeObserver === null || resizeObserver === void 0 ? void 0 : resizeObserver.disconnect();
53
+ resizeObserverRef.current = createResizeObserverFromDocument(targetDocument, handleResize);
54
+ if (!container.current || !resizeObserverRef.current) {
55
+ return;
56
+ }
57
+ resizeObserverRef.current.observe(container.current);
58
+ return ()=>{
59
+ var _resizeObserverRef_current;
60
+ (_resizeObserverRef_current = resizeObserverRef.current) === null || _resizeObserverRef_current === void 0 ? void 0 : _resizeObserverRef_current.disconnect();
61
+ };
55
62
  }, [
56
- resizeObserver
63
+ handleResize,
64
+ targetDocument
57
65
  ]);
58
66
  return {
59
67
  width,
@@ -1 +1 @@
1
- {"version":3,"sources":["useMeasureElement.js"],"sourcesContent":["import * 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(()=>createResizeObserverFromDocument(targetDocument, handleResize));\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 }\n container.current = undefined;\n if (el === null || el === void 0 ? void 0 : el.parentElement) {\n container.current = el.parentElement;\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/**\n * FIXME - TS 3.8/3.9 don't have ResizeObserver types by default, move this to a shared utility once we bump the minbar\n * A utility method that creates a ResizeObserver from a target document\n * @param targetDocument - document to use to create the ResizeObserver\n * @param callback - https://developer.mozilla.org/en-US/docs/Web/API/ResizeObserver/ResizeObserver#callback\n * @returns a ResizeObserver instance or null if the global does not exist on the document\n */ export function createResizeObserverFromDocument(targetDocument, callback) {\n var _targetDocument_defaultView;\n if (!(targetDocument === null || targetDocument === void 0 ? void 0 : (_targetDocument_defaultView = targetDocument.defaultView) === null || _targetDocument_defaultView === void 0 ? void 0 : _targetDocument_defaultView.ResizeObserver)) {\n return null;\n }\n return new targetDocument.defaultView.ResizeObserver(callback);\n}\n"],"names":["createResizeObserverFromDocument","useMeasureElement","width","setWidth","React","useState","container","useRef","undefined","targetDocument","useFluent","handleResize","useCallback","_container_current","containerWidth","current","getBoundingClientRect","resizeObserver","measureElementRef","el","unobserve","parentElement","observe","useEffect","disconnect","callback","_targetDocument_defaultView","defaultView","ResizeObserver"],"mappings":";;;;;;;;;;;IAsDoBA,gCAAgC;eAAhCA;;IA/CAC,iBAAiB;eAAjBA;;;;iEAPG;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,CAAC,IAAIL,iCAAiCS,gBAAgBE;IAC7F,MAAMO,oBAAoBd,OAAMQ,WAAW,CAAC,CAACO;QACzC,IAAI,CAACV,kBAAkB,CAACQ,gBAAgB;YACpC;QACJ;QACA,6BAA6B;QAC7B,IAAIX,UAAUS,OAAO,EAAE;YACnBE,eAAeG,SAAS,CAACd,UAAUS,OAAO;QAC9C;QACAT,UAAUS,OAAO,GAAGP;QACpB,IAAIW,OAAO,QAAQA,OAAO,KAAK,IAAI,KAAK,IAAIA,GAAGE,aAAa,EAAE;YAC1Df,UAAUS,OAAO,GAAGI,GAAGE,aAAa;YACpCJ,eAAeK,OAAO,CAAChB,UAAUS,OAAO;YACxCJ;QACJ;IACJ,GAAG;QACCF;QACAQ;QACAN;KACH;IACDP,OAAMmB,SAAS,CAAC;QACZ,OAAO,IAAIN,mBAAmB,QAAQA,mBAAmB,KAAK,IAAI,KAAK,IAAIA,eAAeO,UAAU;IACxG,GAAG;QACCP;KACH;IACD,OAAO;QACHf;QACAgB;IACJ;AACJ;AAOW,SAASlB,iCAAiCS,cAAc,EAAEgB,QAAQ;IACzE,IAAIC;IACJ,IAAI,CAAEjB,CAAAA,mBAAmB,QAAQA,mBAAmB,KAAK,IAAI,KAAK,IAAI,AAACiB,CAAAA,8BAA8BjB,eAAekB,WAAW,AAAD,MAAO,QAAQD,gCAAgC,KAAK,IAAI,KAAK,IAAIA,4BAA4BE,cAAc,AAAD,GAAI;QACxO,OAAO;IACX;IACA,OAAO,IAAInB,eAAekB,WAAW,CAACC,cAAc,CAACH;AACzD"}
1
+ {"version":3,"sources":["useMeasureElement.js"],"sourcesContent":["import * 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 resizeObserverRef = React.useRef(null);\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 const measureElementRef = React.useCallback((el)=>{\n if (!targetDocument) {\n return;\n }\n // if the element is removed, stop observing it\n if (!el && resizeObserverRef.current && container.current) {\n resizeObserverRef.current.unobserve(container.current);\n }\n container.current = undefined;\n if (el === null || el === void 0 ? void 0 : el.parentElement) {\n var _resizeObserverRef_current;\n container.current = el.parentElement;\n handleResize();\n (_resizeObserverRef_current = resizeObserverRef.current) === null || _resizeObserverRef_current === void 0 ? void 0 : _resizeObserverRef_current.observe(container.current);\n }\n }, [\n targetDocument,\n handleResize\n ]);\n React.useEffect(()=>{\n resizeObserverRef.current = createResizeObserverFromDocument(targetDocument, handleResize);\n if (!container.current || !resizeObserverRef.current) {\n return;\n }\n resizeObserverRef.current.observe(container.current);\n return ()=>{\n var _resizeObserverRef_current;\n (_resizeObserverRef_current = resizeObserverRef.current) === null || _resizeObserverRef_current === void 0 ? void 0 : _resizeObserverRef_current.disconnect();\n };\n }, [\n handleResize,\n targetDocument\n ]);\n return {\n width,\n measureElementRef\n };\n}\n/**\n * FIXME - TS 3.8/3.9 don't have ResizeObserver types by default, move this to a shared utility once we bump the minbar\n * A utility method that creates a ResizeObserver from a target document\n * @param targetDocument - document to use to create the ResizeObserver\n * @param callback - https://developer.mozilla.org/en-US/docs/Web/API/ResizeObserver/ResizeObserver#callback\n * @returns a ResizeObserver instance or null if the global does not exist on the document\n */ export function createResizeObserverFromDocument(targetDocument, callback) {\n var _targetDocument_defaultView;\n if (!(targetDocument === null || targetDocument === void 0 ? void 0 : (_targetDocument_defaultView = targetDocument.defaultView) === null || _targetDocument_defaultView === void 0 ? void 0 : _targetDocument_defaultView.ResizeObserver)) {\n return null;\n }\n return new targetDocument.defaultView.ResizeObserver(callback);\n}\n"],"names":["useMeasureElement","createResizeObserverFromDocument","width","setWidth","React","useState","container","useRef","undefined","resizeObserverRef","targetDocument","useFluent","handleResize","useCallback","_container_current","containerWidth","current","getBoundingClientRect","measureElementRef","el","unobserve","parentElement","_resizeObserverRef_current","observe","useEffect","disconnect","callback","_targetDocument_defaultView","defaultView","ResizeObserver"],"mappings":";;;;;;;;;;;IAOoBA,iBAAiB;eAAjBA;;IAuDAC,gCAAgC;eAAhCA;;;;iEA9DG;qCACyB;AAMrC,SAASD;IAChB,MAAM,CAACE,OAAOC,SAAS,GAAGC,OAAMC,QAAQ,CAAC;IACzC,MAAMC,YAAYF,OAAMG,MAAM,CAACC;IAC/B,MAAMC,oBAAoBL,OAAMG,MAAM,CAAC;IACvC,MAAM,EAAEG,cAAc,EAAE,GAAGC,IAAAA,uCAAS;IACpC,kCAAkC;IAClC,MAAMC,eAAeR,OAAMS,WAAW,CAAC;QACnC,IAAIC;QACJ,MAAMC,iBAAiB,AAACD,CAAAA,qBAAqBR,UAAUU,OAAO,AAAD,MAAO,QAAQF,uBAAuB,KAAK,IAAI,KAAK,IAAIA,mBAAmBG,qBAAqB,GAAGf,KAAK;QACrKC,SAASY,kBAAkB;IAC/B,GAAG,EAAE;IACL,MAAMG,oBAAoBd,OAAMS,WAAW,CAAC,CAACM;QACzC,IAAI,CAACT,gBAAgB;YACjB;QACJ;QACA,+CAA+C;QAC/C,IAAI,CAACS,MAAMV,kBAAkBO,OAAO,IAAIV,UAAUU,OAAO,EAAE;YACvDP,kBAAkBO,OAAO,CAACI,SAAS,CAACd,UAAUU,OAAO;QACzD;QACAV,UAAUU,OAAO,GAAGR;QACpB,IAAIW,OAAO,QAAQA,OAAO,KAAK,IAAI,KAAK,IAAIA,GAAGE,aAAa,EAAE;YAC1D,IAAIC;YACJhB,UAAUU,OAAO,GAAGG,GAAGE,aAAa;YACpCT;YACCU,CAAAA,6BAA6Bb,kBAAkBO,OAAO,AAAD,MAAO,QAAQM,+BAA+B,KAAK,IAAI,KAAK,IAAIA,2BAA2BC,OAAO,CAACjB,UAAUU,OAAO;QAC9K;IACJ,GAAG;QACCN;QACAE;KACH;IACDR,OAAMoB,SAAS,CAAC;QACZf,kBAAkBO,OAAO,GAAGf,iCAAiCS,gBAAgBE;QAC7E,IAAI,CAACN,UAAUU,OAAO,IAAI,CAACP,kBAAkBO,OAAO,EAAE;YAClD;QACJ;QACAP,kBAAkBO,OAAO,CAACO,OAAO,CAACjB,UAAUU,OAAO;QACnD,OAAO;YACH,IAAIM;YACHA,CAAAA,6BAA6Bb,kBAAkBO,OAAO,AAAD,MAAO,QAAQM,+BAA+B,KAAK,IAAI,KAAK,IAAIA,2BAA2BG,UAAU;QAC/J;IACJ,GAAG;QACCb;QACAF;KACH;IACD,OAAO;QACHR;QACAgB;IACJ;AACJ;AAOW,SAASjB,iCAAiCS,cAAc,EAAEgB,QAAQ;IACzE,IAAIC;IACJ,IAAI,CAAEjB,CAAAA,mBAAmB,QAAQA,mBAAmB,KAAK,IAAI,KAAK,IAAI,AAACiB,CAAAA,8BAA8BjB,eAAekB,WAAW,AAAD,MAAO,QAAQD,gCAAgC,KAAK,IAAI,KAAK,IAAIA,4BAA4BE,cAAc,AAAD,GAAI;QACxO,OAAO;IACX;IACA,OAAO,IAAInB,eAAekB,WAAW,CAACC,cAAc,CAACH;AACzD"}
@@ -16,6 +16,7 @@ function useTableColumnResizeMouseHandler(columnResizeState) {
16
16
  const mouseX = _react.useRef(0);
17
17
  const currentWidth = _react.useRef(0);
18
18
  const colId = _react.useRef(undefined);
19
+ const [dragging, setDragging] = _react.useState(false);
19
20
  const { targetDocument } = (0, _reactsharedcontexts.useFluent_unstable)();
20
21
  const globalWin = targetDocument === null || targetDocument === void 0 ? void 0 : targetDocument.defaultView;
21
22
  const { getColumnWidth, setColumnWidth } = columnResizeState;
@@ -52,6 +53,7 @@ function useTableColumnResizeMouseHandler(columnResizeState) {
52
53
  targetDocument === null || targetDocument === void 0 ? void 0 : targetDocument.removeEventListener('touchend', onDragEnd);
53
54
  targetDocument === null || targetDocument === void 0 ? void 0 : targetDocument.removeEventListener('touchmove', onDrag);
54
55
  }
56
+ setDragging(false);
55
57
  }, [
56
58
  onDrag,
57
59
  targetDocument
@@ -69,10 +71,12 @@ function useTableColumnResizeMouseHandler(columnResizeState) {
69
71
  }
70
72
  targetDocument === null || targetDocument === void 0 ? void 0 : targetDocument.addEventListener('mouseup', onDragEnd);
71
73
  targetDocument === null || targetDocument === void 0 ? void 0 : targetDocument.addEventListener('mousemove', onDrag);
74
+ setDragging(true);
72
75
  }
73
76
  if ((0, _reactutilities.isTouchEvent)(event)) {
74
77
  targetDocument === null || targetDocument === void 0 ? void 0 : targetDocument.addEventListener('touchend', onDragEnd);
75
78
  targetDocument === null || targetDocument === void 0 ? void 0 : targetDocument.addEventListener('touchmove', onDrag);
79
+ setDragging(true);
76
80
  }
77
81
  }, [
78
82
  getColumnWidth,
@@ -81,6 +85,7 @@ function useTableColumnResizeMouseHandler(columnResizeState) {
81
85
  targetDocument
82
86
  ]);
83
87
  return {
84
- getOnMouseDown
88
+ getOnMouseDown,
89
+ dragging
85
90
  };
86
91
  }
@@ -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 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 { getColumnWidth, setColumnWidth } = columnResizeState;\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 && setColumnWidth(e, {\n columnId: colId.current,\n width: currentWidth.current\n });\n mouseX.current = clientX;\n }, [\n setColumnWidth\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 = React.useCallback((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 = 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 getColumnWidth,\n onDrag,\n onDragEnd,\n targetDocument\n ]);\n return {\n getOnMouseDown\n };\n}\n"],"names":["useTableColumnResizeMouseHandler","columnResizeState","mouseX","React","useRef","currentWidth","colId","undefined","targetDocument","useFluent","globalWin","defaultView","getColumnWidth","setColumnWidth","recalculatePosition","useCallback","e","clientX","getEventClientCoords","dx","current","columnId","width","onDrag","requestAnimationFrame","onDragEnd","event","isMouseEvent","removeEventListener","isTouchEvent","getOnMouseDown","target","currentTarget","button","addEventListener"],"mappings":"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"}
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 [dragging, setDragging] = React.useState(false);\n const { targetDocument } = useFluent();\n const globalWin = targetDocument === null || targetDocument === void 0 ? void 0 : targetDocument.defaultView;\n const { getColumnWidth, setColumnWidth } = columnResizeState;\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 && setColumnWidth(e, {\n columnId: colId.current,\n width: currentWidth.current\n });\n mouseX.current = clientX;\n }, [\n setColumnWidth\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 setDragging(false);\n }, [\n onDrag,\n targetDocument\n ]);\n const getOnMouseDown = React.useCallback((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 = 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 setDragging(true);\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 setDragging(true);\n }\n }, [\n getColumnWidth,\n onDrag,\n onDragEnd,\n targetDocument\n ]);\n return {\n getOnMouseDown,\n dragging\n };\n}\n"],"names":["useTableColumnResizeMouseHandler","columnResizeState","mouseX","React","useRef","currentWidth","colId","undefined","dragging","setDragging","useState","targetDocument","useFluent","globalWin","defaultView","getColumnWidth","setColumnWidth","recalculatePosition","useCallback","e","clientX","getEventClientCoords","dx","current","columnId","width","onDrag","requestAnimationFrame","onDragEnd","event","isMouseEvent","removeEventListener","isTouchEvent","getOnMouseDown","target","currentTarget","button","addEventListener"],"mappings":"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"}
@@ -43,14 +43,18 @@ function useTableColumnSizing_unstable(params) {
43
43
  // eslint-disable-next-line react-hooks/rules-of-hooks
44
44
  return (tableState)=>useTableColumnSizingState(tableState, params);
45
45
  }
46
- function getColumnStyles(column) {
46
+ function getColumnStyles(column, dragging) {
47
47
  const width = column.width;
48
48
  return {
49
49
  // native styles
50
50
  width,
51
51
  // non-native element styles (flex layout)
52
52
  minWidth: width,
53
- maxWidth: width
53
+ maxWidth: width,
54
+ // Fixed the unwanted sort: https://github.com/microsoft/fluentui/issues/27803
55
+ ...dragging ? {
56
+ pointerEvents: 'none'
57
+ } : {}
54
58
  };
55
59
  }
56
60
  function useTableColumnSizingState(tableState, params) {
@@ -71,7 +75,7 @@ function useTableColumnSizingState(tableState, params) {
71
75
  toggleInteractiveMode
72
76
  ]);
73
77
  const { getColumnById, setColumnWidth, getColumns } = columnResizeState;
74
- const { getOnMouseDown } = mouseHandler;
78
+ const { getOnMouseDown, dragging } = mouseHandler;
75
79
  return {
76
80
  ...tableState,
77
81
  tableRef: measureElementRef,
@@ -102,12 +106,13 @@ function useTableColumnSizingState(tableState, params) {
102
106
  ...getKeyboardResizingProps(columnId, (col === null || col === void 0 ? void 0 : col.width) || 0)
103
107
  });
104
108
  return col ? {
105
- style: getColumnStyles(col),
109
+ style: getColumnStyles(col, dragging),
106
110
  aside
107
111
  } : {};
108
112
  }, [
109
113
  getColumnById,
110
114
  columns,
115
+ dragging,
111
116
  getKeyboardResizingProps,
112
117
  getOnMouseDown
113
118
  ]),
@@ -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 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 const { getColumnById, setColumnWidth, getColumns } = columnResizeState;\n const { getOnMouseDown } = mouseHandler;\n return {\n ...tableState,\n tableRef: measureElementRef,\n // eslint-disable-next-line @typescript-eslint/naming-convention\n columnSizing_unstable: {\n getOnMouseDown,\n setColumnWidth: (columnId, w)=>setColumnWidth(undefined, {\n columnId,\n width: w\n }),\n getColumnWidths: getColumns,\n getTableProps: (props = {})=>{\n return {\n ...props,\n style: {\n minWidth: 'fit-content',\n ...props.style || {}\n }\n };\n },\n getTableHeaderCellProps: React.useCallback((columnId)=>{\n var _columns_;\n const col = 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: getOnMouseDown(columnId),\n onTouchStart: 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 getColumnById,\n columns,\n getKeyboardResizingProps,\n getOnMouseDown\n ]),\n getTableCellProps: React.useCallback((columnId)=>{\n const col = getColumnById(columnId);\n return col ? {\n style: getColumnStyles(col)\n } : {};\n }, [\n getColumnById\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","getColumnById","getColumns","tableRef","columnSizing_unstable","w","undefined","props","_columns_","col","isLastColumn","length","aside","createElement","TableResizeHandle","onMouseDown","onTouchStart"],"mappings":"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"}
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, dragging) {\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 // Fixed the unwanted sort: https://github.com/microsoft/fluentui/issues/27803\n ...dragging ? {\n pointerEvents: 'none'\n } : {}\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 const { getColumnById, setColumnWidth, getColumns } = columnResizeState;\n const { getOnMouseDown, dragging } = mouseHandler;\n return {\n ...tableState,\n tableRef: measureElementRef,\n // eslint-disable-next-line @typescript-eslint/naming-convention\n columnSizing_unstable: {\n getOnMouseDown,\n setColumnWidth: (columnId, w)=>setColumnWidth(undefined, {\n columnId,\n width: w\n }),\n getColumnWidths: getColumns,\n getTableProps: (props = {})=>{\n return {\n ...props,\n style: {\n minWidth: 'fit-content',\n ...props.style || {}\n }\n };\n },\n getTableHeaderCellProps: React.useCallback((columnId)=>{\n var _columns_;\n const col = 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: getOnMouseDown(columnId),\n onTouchStart: getOnMouseDown(columnId),\n ...getKeyboardResizingProps(columnId, (col === null || col === void 0 ? void 0 : col.width) || 0)\n });\n return col ? {\n style: getColumnStyles(col, dragging),\n aside\n } : {};\n }, [\n getColumnById,\n columns,\n dragging,\n getKeyboardResizingProps,\n getOnMouseDown\n ]),\n getTableCellProps: React.useCallback((columnId)=>{\n const col = getColumnById(columnId);\n return col ? {\n style: getColumnStyles(col)\n } : {};\n }, [\n getColumnById\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","dragging","width","minWidth","maxWidth","pointerEvents","columns","measureElementRef","useMeasureElement","columnResizeState","useTableColumnResizeState","containerWidthOffset","mouseHandler","useTableColumnResizeMouseHandler","toggleInteractiveMode","getKeyboardResizingProps","useKeyboardResizing","React","useCallback","onChange","e","preventDefault","nativeEvent","stopPropagation","getColumnById","getColumns","tableRef","columnSizing_unstable","w","undefined","props","_columns_","col","isLastColumn","length","aside","createElement","TableResizeHandle","onMouseDown","onTouchStart"],"mappings":"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"}