@tanstack/react-table 8.0.0-alpha.11 → 8.0.0-alpha.14

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.
@@ -36,6 +36,30 @@ function _interopNamespace(e) {
36
36
 
37
37
  var React__namespace = /*#__PURE__*/_interopNamespace(React);
38
38
 
39
+ var render = function render(Comp, props) {
40
+ return !Comp ? null : isReactComponent(Comp) ? /*#__PURE__*/React__namespace.createElement(Comp, props) : Comp;
41
+ };
42
+
43
+ function isReactComponent(component) {
44
+ return isClassComponent(component) || typeof component === 'function' || isExoticComponent(component);
45
+ }
46
+
47
+ function isClassComponent(component) {
48
+ return typeof component === 'function' && function () {
49
+ var proto = Object.getPrototypeOf(component);
50
+ return proto.prototype && proto.prototype.isReactComponent;
51
+ }();
52
+ }
53
+
54
+ function isExoticComponent(component) {
55
+ return typeof component === 'object' && typeof component.$$typeof === 'symbol' && ['react.memo', 'react.forward_ref'].includes(component.$$typeof.description);
56
+ }
57
+
58
+ var _init = tableCore.init({
59
+ render: render
60
+ }),
61
+ createTable = _init.createTable,
62
+ createTableFactory = _init.createTableFactory;
39
63
  function useTable(table, options) {
40
64
  var _table$__options;
41
65
 
@@ -43,7 +67,9 @@ function useTable(table, options) {
43
67
  var resolvedOptions = _rollupPluginBabelHelpers["extends"]({}, (_table$__options = table.__options) != null ? _table$__options : {}, {
44
68
  state: {},
45
69
  // Dummy state
46
- onStateChange: function onStateChange() {}
70
+ onStateChange: function onStateChange() {},
71
+ // noop
72
+ render: render
47
73
  }, options); // Create a new table instance and store it in state
48
74
 
49
75
 
@@ -75,6 +101,9 @@ function useTable(table, options) {
75
101
  return instance;
76
102
  }
77
103
 
104
+ exports.createTable = createTable;
105
+ exports.createTableFactory = createTableFactory;
106
+ exports.render = render;
78
107
  exports.useTable = useTable;
79
108
  Object.keys(tableCore).forEach(function (k) {
80
109
  if (k !== 'default' && !exports.hasOwnProperty(k)) Object.defineProperty(exports, k, {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../src/index.tsx"],"sourcesContent":["import * as React from 'react'\nexport * from '@tanstack/table-core'\n\nimport {\n createTableInstance,\n _NonGenerated,\n PartialKeys,\n Options,\n TableInstance,\n PartialGenerics,\n CreateTableFactoryOptions,\n TableFactory,\n} from '@tanstack/table-core'\n\nexport function useTable<TGenerics extends PartialGenerics>(\n table: TableFactory<TGenerics>,\n options: PartialKeys<\n Omit<Options<TGenerics>, keyof CreateTableFactoryOptions<any, any, any>>,\n 'state' | 'onStateChange'\n >\n): TableInstance<TGenerics> {\n // Compose in the generic options to the user options\n const resolvedOptions = {\n ...(table.__options ?? {}),\n state: {}, // Dummy state\n onStateChange: () => {}, // noop\n ...options,\n }\n\n // Create a new table instance and store it in state\n const [instance] = React.useState(() =>\n createTableInstance<TGenerics>(resolvedOptions)\n )\n\n // By default, manage table state here using the instance's initial state\n const [state, setState] = React.useState(() => instance.initialState)\n\n // Compose the default state above with any user state. This will allow the user\n // to only control a subset of the state if desired.\n instance.setOptions(prev => ({\n ...prev,\n ...options,\n state: {\n ...state,\n ...options.state,\n },\n // Similarly, we'll maintain both our internal state and any user-provided\n // state.\n onStateChange: updater => {\n setState(updater)\n options.onStateChange?.(updater)\n },\n }))\n\n return instance\n}\n"],"names":["useTable","table","options","resolvedOptions","__options","state","onStateChange","React","useState","createTableInstance","instance","initialState","setState","setOptions","prev","updater"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAcO,SAASA,QAAT,CACLC,KADK,EAELC,OAFK,EAMqB;AAAA;;AAC1B;AACA,MAAMC,eAAe,gEACfF,KAAK,CAACG,SADS,+BACI,EADJ;AAEnBC,IAAAA,KAAK,EAAE,EAFY;AAER;AACXC,IAAAA,aAAa,EAAE,yBAAM;AAHF,KAIhBJ,OAJgB,CAArB,CAF0B;;;AAU1B,wBAAmBK,gBAAK,CAACC,QAAN,CAAe;AAAA,WAChCC,6BAAmB,CAAYN,eAAZ,CADa;AAAA,GAAf,CAAnB;AAAA,MAAOO,QAAP,sBAV0B;;;AAe1B,yBAA0BH,gBAAK,CAACC,QAAN,CAAe;AAAA,WAAME,QAAQ,CAACC,YAAf;AAAA,GAAf,CAA1B;AAAA,MAAON,KAAP;AAAA,MAAcO,QAAd,uBAf0B;AAkB1B;;;AACAF,EAAAA,QAAQ,CAACG,UAAT,CAAoB,UAAAC,IAAI;AAAA,oDACnBA,IADmB,EAEnBZ,OAFmB;AAGtBG,MAAAA,KAAK,2CACAA,KADA,EAEAH,OAAO,CAACG,KAFR,CAHiB;AAOtB;AACA;AACAC,MAAAA,aAAa,EAAE,uBAAAS,OAAO,EAAI;AACxBH,QAAAA,QAAQ,CAACG,OAAD,CAAR;AACAb,QAAAA,OAAO,CAACI,aAAR,oBAAAJ,OAAO,CAACI,aAAR,CAAwBS,OAAxB;AACD;AAZqB;AAAA,GAAxB;AAeA,SAAOL,QAAP;AACD;;;;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../../src/index.tsx"],"sourcesContent":["import * as React from 'react'\nexport * from '@tanstack/table-core'\n\nimport {\n createTableInstance,\n _NonGenerated,\n PartialKeys,\n Options,\n TableInstance,\n PartialGenerics,\n CreateTableFactoryOptions,\n Table,\n init,\n AnyGenerics,\n} from '@tanstack/table-core'\n\nexport type Renderable<TProps> =\n | React.ReactNode\n | React.FunctionComponent<TProps>\n | React.Component<TProps>\n\nexport const render = <TProps extends {}>(\n Comp: Renderable<TProps>,\n props: TProps\n): React.ReactNode =>\n !Comp ? null : isReactComponent(Comp) ? <Comp {...props} /> : Comp\n\nexport type Render = typeof render\n\nfunction isReactComponent(component: unknown): component is React.FC {\n return (\n isClassComponent(component) ||\n typeof component === 'function' ||\n isExoticComponent(component)\n )\n}\n\nfunction isClassComponent(component: any) {\n return (\n typeof component === 'function' &&\n (() => {\n const proto = Object.getPrototypeOf(component)\n return proto.prototype && proto.prototype.isReactComponent\n })()\n )\n}\n\nfunction isExoticComponent(component: any) {\n return (\n typeof component === 'object' &&\n typeof component.$$typeof === 'symbol' &&\n ['react.memo', 'react.forward_ref'].includes(component.$$typeof.description)\n )\n}\n\nconst { createTable, createTableFactory } = init({ render })\n\nexport { createTable, createTableFactory }\n\nexport function useTable<TGenerics extends AnyGenerics>(\n table: Table<TGenerics>,\n options: PartialKeys<\n Omit<\n Options<TGenerics>,\n keyof CreateTableFactoryOptions<any, any, any, any>\n >,\n 'state' | 'onStateChange'\n >\n): TableInstance<TGenerics> {\n // Compose in the generic options to the user options\n const resolvedOptions: Options<TGenerics> = {\n ...(table.__options ?? {}),\n state: {}, // Dummy state\n onStateChange: () => {}, // noop\n render,\n ...options,\n }\n\n // Create a new table instance and store it in state\n const [instance] = React.useState(() =>\n createTableInstance<TGenerics>(resolvedOptions)\n )\n\n // By default, manage table state here using the instance's initial state\n const [state, setState] = React.useState(() => instance.initialState)\n\n // Compose the default state above with any user state. This will allow the user\n // to only control a subset of the state if desired.\n instance.setOptions(prev => ({\n ...prev,\n ...options,\n state: {\n ...state,\n ...options.state,\n },\n // Similarly, we'll maintain both our internal state and any user-provided\n // state.\n onStateChange: updater => {\n setState(updater)\n options.onStateChange?.(updater)\n },\n }))\n\n return instance\n}\n"],"names":["render","Comp","props","isReactComponent","React","component","isClassComponent","isExoticComponent","proto","Object","getPrototypeOf","prototype","$$typeof","includes","description","init","createTable","createTableFactory","useTable","table","options","resolvedOptions","__options","state","onStateChange","useState","createTableInstance","instance","initialState","setState","setOptions","prev","updater"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAqBaA,MAAM,GAAG,SAATA,MAAS,CACpBC,IADoB,EAEpBC,KAFoB;AAAA,SAIpB,CAACD,IAAD,GAAQ,IAAR,GAAeE,gBAAgB,CAACF,IAAD,CAAhB,gBAAyBG,+BAAC,IAAD,EAAUF,KAAV,CAAzB,GAA+CD,IAJ1C;AAAA;;AAQtB,SAASE,gBAAT,CAA0BE,SAA1B,EAAqE;AACnE,SACEC,gBAAgB,CAACD,SAAD,CAAhB,IACA,OAAOA,SAAP,KAAqB,UADrB,IAEAE,iBAAiB,CAACF,SAAD,CAHnB;AAKD;;AAED,SAASC,gBAAT,CAA0BD,SAA1B,EAA0C;AACxC,SACE,OAAOA,SAAP,KAAqB,UAArB,IACC,YAAM;AACL,QAAMG,KAAK,GAAGC,MAAM,CAACC,cAAP,CAAsBL,SAAtB,CAAd;AACA,WAAOG,KAAK,CAACG,SAAN,IAAmBH,KAAK,CAACG,SAAN,CAAgBR,gBAA1C;AACD,GAHD,EAFF;AAOD;;AAED,SAASI,iBAAT,CAA2BF,SAA3B,EAA2C;AACzC,SACE,OAAOA,SAAP,KAAqB,QAArB,IACA,OAAOA,SAAS,CAACO,QAAjB,KAA8B,QAD9B,IAEA,CAAC,YAAD,EAAe,mBAAf,EAAoCC,QAApC,CAA6CR,SAAS,CAACO,QAAV,CAAmBE,WAAhE,CAHF;AAKD;;YAE2CC,cAAI,CAAC;AAAEf,EAAAA,MAAM,EAANA;AAAF,CAAD,CAAhD;AAAA,IAAQgB,WAAR,SAAQA,WAAR;AAAA,IAAqBC,kBAArB,SAAqBA;AAId,SAASC,QAAT,CACLC,KADK,EAELC,OAFK,EASqB;AAAA;;AAC1B;AACA,MAAMC,eAAmC,gEACnCF,KAAK,CAACG,SAD6B,+BAChB,EADgB;AAEvCC,IAAAA,KAAK,EAAE,EAFgC;AAE5B;AACXC,IAAAA,aAAa,EAAE,yBAAM,EAHkB;AAGd;AACzBxB,IAAAA,MAAM,EAANA;AAJuC,KAKpCoB,OALoC,CAAzC,CAF0B;;;AAW1B,wBAAmBhB,gBAAK,CAACqB,QAAN,CAAe;AAAA,WAChCC,6BAAmB,CAAYL,eAAZ,CADa;AAAA,GAAf,CAAnB;AAAA,MAAOM,QAAP,sBAX0B;;;AAgB1B,yBAA0BvB,gBAAK,CAACqB,QAAN,CAAe;AAAA,WAAME,QAAQ,CAACC,YAAf;AAAA,GAAf,CAA1B;AAAA,MAAOL,KAAP;AAAA,MAAcM,QAAd,uBAhB0B;AAmB1B;;;AACAF,EAAAA,QAAQ,CAACG,UAAT,CAAoB,UAAAC,IAAI;AAAA,oDACnBA,IADmB,EAEnBX,OAFmB;AAGtBG,MAAAA,KAAK,2CACAA,KADA,EAEAH,OAAO,CAACG,KAFR,CAHiB;AAOtB;AACA;AACAC,MAAAA,aAAa,EAAE,uBAAAQ,OAAO,EAAI;AACxBH,QAAAA,QAAQ,CAACG,OAAD,CAAR;AACAZ,QAAAA,OAAO,CAACI,aAAR,oBAAAJ,OAAO,CAACI,aAAR,CAAwBQ,OAAxB;AACD;AAZqB;AAAA,GAAxB;AAeA,SAAOL,QAAP;AACD;;;;;;;;;;;;;"}
@@ -9,7 +9,7 @@
9
9
  * @license MIT
10
10
  */
11
11
  import * as React from 'react';
12
- import { createTableInstance } from '@tanstack/table-core';
12
+ import { init, createTableInstance } from '@tanstack/table-core';
13
13
  export * from '@tanstack/table-core';
14
14
 
15
15
  function _extends() {
@@ -30,6 +30,30 @@ function _extends() {
30
30
  return _extends.apply(this, arguments);
31
31
  }
32
32
 
33
+ var render = function render(Comp, props) {
34
+ return !Comp ? null : isReactComponent(Comp) ? /*#__PURE__*/React.createElement(Comp, props) : Comp;
35
+ };
36
+
37
+ function isReactComponent(component) {
38
+ return isClassComponent(component) || typeof component === 'function' || isExoticComponent(component);
39
+ }
40
+
41
+ function isClassComponent(component) {
42
+ return typeof component === 'function' && function () {
43
+ var proto = Object.getPrototypeOf(component);
44
+ return proto.prototype && proto.prototype.isReactComponent;
45
+ }();
46
+ }
47
+
48
+ function isExoticComponent(component) {
49
+ return typeof component === 'object' && typeof component.$$typeof === 'symbol' && ['react.memo', 'react.forward_ref'].includes(component.$$typeof.description);
50
+ }
51
+
52
+ var _init = init({
53
+ render: render
54
+ }),
55
+ createTable = _init.createTable,
56
+ createTableFactory = _init.createTableFactory;
33
57
  function useTable(table, options) {
34
58
  var _table$__options;
35
59
 
@@ -37,7 +61,9 @@ function useTable(table, options) {
37
61
  var resolvedOptions = _extends({}, (_table$__options = table.__options) != null ? _table$__options : {}, {
38
62
  state: {},
39
63
  // Dummy state
40
- onStateChange: function onStateChange() {}
64
+ onStateChange: function onStateChange() {},
65
+ // noop
66
+ render: render
41
67
  }, options); // Create a new table instance and store it in state
42
68
 
43
69
 
@@ -69,5 +95,5 @@ function useTable(table, options) {
69
95
  return instance;
70
96
  }
71
97
 
72
- export { useTable };
98
+ export { createTable, createTableFactory, render, useTable };
73
99
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../src/index.tsx"],"sourcesContent":["import * as React from 'react'\nexport * from '@tanstack/table-core'\n\nimport {\n createTableInstance,\n _NonGenerated,\n PartialKeys,\n Options,\n TableInstance,\n PartialGenerics,\n CreateTableFactoryOptions,\n TableFactory,\n} from '@tanstack/table-core'\n\nexport function useTable<TGenerics extends PartialGenerics>(\n table: TableFactory<TGenerics>,\n options: PartialKeys<\n Omit<Options<TGenerics>, keyof CreateTableFactoryOptions<any, any, any>>,\n 'state' | 'onStateChange'\n >\n): TableInstance<TGenerics> {\n // Compose in the generic options to the user options\n const resolvedOptions = {\n ...(table.__options ?? {}),\n state: {}, // Dummy state\n onStateChange: () => {}, // noop\n ...options,\n }\n\n // Create a new table instance and store it in state\n const [instance] = React.useState(() =>\n createTableInstance<TGenerics>(resolvedOptions)\n )\n\n // By default, manage table state here using the instance's initial state\n const [state, setState] = React.useState(() => instance.initialState)\n\n // Compose the default state above with any user state. This will allow the user\n // to only control a subset of the state if desired.\n instance.setOptions(prev => ({\n ...prev,\n ...options,\n state: {\n ...state,\n ...options.state,\n },\n // Similarly, we'll maintain both our internal state and any user-provided\n // state.\n onStateChange: updater => {\n setState(updater)\n options.onStateChange?.(updater)\n },\n }))\n\n return instance\n}\n"],"names":["useTable","table","options","resolvedOptions","__options","state","onStateChange","React","useState","createTableInstance","instance","initialState","setState","setOptions","prev","updater"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAcO,SAASA,QAAT,CACLC,KADK,EAELC,OAFK,EAMqB;AAAA;;AAC1B;AACA,MAAMC,eAAe,oCACfF,KAAK,CAACG,SADS,+BACI,EADJ;AAEnBC,IAAAA,KAAK,EAAE,EAFY;AAER;AACXC,IAAAA,aAAa,EAAE,yBAAM;AAHF,KAIhBJ,OAJgB,CAArB,CAF0B;;;AAU1B,wBAAmBK,KAAK,CAACC,QAAN,CAAe;AAAA,WAChCC,mBAAmB,CAAYN,eAAZ,CADa;AAAA,GAAf,CAAnB;AAAA,MAAOO,QAAP,sBAV0B;;;AAe1B,yBAA0BH,KAAK,CAACC,QAAN,CAAe;AAAA,WAAME,QAAQ,CAACC,YAAf;AAAA,GAAf,CAA1B;AAAA,MAAON,KAAP;AAAA,MAAcO,QAAd,uBAf0B;AAkB1B;;;AACAF,EAAAA,QAAQ,CAACG,UAAT,CAAoB,UAAAC,IAAI;AAAA,wBACnBA,IADmB,EAEnBZ,OAFmB;AAGtBG,MAAAA,KAAK,eACAA,KADA,EAEAH,OAAO,CAACG,KAFR,CAHiB;AAOtB;AACA;AACAC,MAAAA,aAAa,EAAE,uBAAAS,OAAO,EAAI;AACxBH,QAAAA,QAAQ,CAACG,OAAD,CAAR;AACAb,QAAAA,OAAO,CAACI,aAAR,oBAAAJ,OAAO,CAACI,aAAR,CAAwBS,OAAxB;AACD;AAZqB;AAAA,GAAxB;AAeA,SAAOL,QAAP;AACD;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../../src/index.tsx"],"sourcesContent":["import * as React from 'react'\nexport * from '@tanstack/table-core'\n\nimport {\n createTableInstance,\n _NonGenerated,\n PartialKeys,\n Options,\n TableInstance,\n PartialGenerics,\n CreateTableFactoryOptions,\n Table,\n init,\n AnyGenerics,\n} from '@tanstack/table-core'\n\nexport type Renderable<TProps> =\n | React.ReactNode\n | React.FunctionComponent<TProps>\n | React.Component<TProps>\n\nexport const render = <TProps extends {}>(\n Comp: Renderable<TProps>,\n props: TProps\n): React.ReactNode =>\n !Comp ? null : isReactComponent(Comp) ? <Comp {...props} /> : Comp\n\nexport type Render = typeof render\n\nfunction isReactComponent(component: unknown): component is React.FC {\n return (\n isClassComponent(component) ||\n typeof component === 'function' ||\n isExoticComponent(component)\n )\n}\n\nfunction isClassComponent(component: any) {\n return (\n typeof component === 'function' &&\n (() => {\n const proto = Object.getPrototypeOf(component)\n return proto.prototype && proto.prototype.isReactComponent\n })()\n )\n}\n\nfunction isExoticComponent(component: any) {\n return (\n typeof component === 'object' &&\n typeof component.$$typeof === 'symbol' &&\n ['react.memo', 'react.forward_ref'].includes(component.$$typeof.description)\n )\n}\n\nconst { createTable, createTableFactory } = init({ render })\n\nexport { createTable, createTableFactory }\n\nexport function useTable<TGenerics extends AnyGenerics>(\n table: Table<TGenerics>,\n options: PartialKeys<\n Omit<\n Options<TGenerics>,\n keyof CreateTableFactoryOptions<any, any, any, any>\n >,\n 'state' | 'onStateChange'\n >\n): TableInstance<TGenerics> {\n // Compose in the generic options to the user options\n const resolvedOptions: Options<TGenerics> = {\n ...(table.__options ?? {}),\n state: {}, // Dummy state\n onStateChange: () => {}, // noop\n render,\n ...options,\n }\n\n // Create a new table instance and store it in state\n const [instance] = React.useState(() =>\n createTableInstance<TGenerics>(resolvedOptions)\n )\n\n // By default, manage table state here using the instance's initial state\n const [state, setState] = React.useState(() => instance.initialState)\n\n // Compose the default state above with any user state. This will allow the user\n // to only control a subset of the state if desired.\n instance.setOptions(prev => ({\n ...prev,\n ...options,\n state: {\n ...state,\n ...options.state,\n },\n // Similarly, we'll maintain both our internal state and any user-provided\n // state.\n onStateChange: updater => {\n setState(updater)\n options.onStateChange?.(updater)\n },\n }))\n\n return instance\n}\n"],"names":["render","Comp","props","isReactComponent","component","isClassComponent","isExoticComponent","proto","Object","getPrototypeOf","prototype","$$typeof","includes","description","init","createTable","createTableFactory","useTable","table","options","resolvedOptions","__options","state","onStateChange","React","useState","createTableInstance","instance","initialState","setState","setOptions","prev","updater"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAqBaA,MAAM,GAAG,SAATA,MAAS,CACpBC,IADoB,EAEpBC,KAFoB;AAAA,SAIpB,CAACD,IAAD,GAAQ,IAAR,GAAeE,gBAAgB,CAACF,IAAD,CAAhB,gBAAyB,oBAAC,IAAD,EAAUC,KAAV,CAAzB,GAA+CD,IAJ1C;AAAA;;AAQtB,SAASE,gBAAT,CAA0BC,SAA1B,EAAqE;AACnE,SACEC,gBAAgB,CAACD,SAAD,CAAhB,IACA,OAAOA,SAAP,KAAqB,UADrB,IAEAE,iBAAiB,CAACF,SAAD,CAHnB;AAKD;;AAED,SAASC,gBAAT,CAA0BD,SAA1B,EAA0C;AACxC,SACE,OAAOA,SAAP,KAAqB,UAArB,IACC,YAAM;AACL,QAAMG,KAAK,GAAGC,MAAM,CAACC,cAAP,CAAsBL,SAAtB,CAAd;AACA,WAAOG,KAAK,CAACG,SAAN,IAAmBH,KAAK,CAACG,SAAN,CAAgBP,gBAA1C;AACD,GAHD,EAFF;AAOD;;AAED,SAASG,iBAAT,CAA2BF,SAA3B,EAA2C;AACzC,SACE,OAAOA,SAAP,KAAqB,QAArB,IACA,OAAOA,SAAS,CAACO,QAAjB,KAA8B,QAD9B,IAEA,CAAC,YAAD,EAAe,mBAAf,EAAoCC,QAApC,CAA6CR,SAAS,CAACO,QAAV,CAAmBE,WAAhE,CAHF;AAKD;;YAE2CC,IAAI,CAAC;AAAEd,EAAAA,MAAM,EAANA;AAAF,CAAD,CAAhD;AAAA,IAAQe,WAAR,SAAQA,WAAR;AAAA,IAAqBC,kBAArB,SAAqBA;AAId,SAASC,QAAT,CACLC,KADK,EAELC,OAFK,EASqB;AAAA;;AAC1B;AACA,MAAMC,eAAmC,oCACnCF,KAAK,CAACG,SAD6B,+BAChB,EADgB;AAEvCC,IAAAA,KAAK,EAAE,EAFgC;AAE5B;AACXC,IAAAA,aAAa,EAAE,yBAAM,EAHkB;AAGd;AACzBvB,IAAAA,MAAM,EAANA;AAJuC,KAKpCmB,OALoC,CAAzC,CAF0B;;;AAW1B,wBAAmBK,KAAK,CAACC,QAAN,CAAe;AAAA,WAChCC,mBAAmB,CAAYN,eAAZ,CADa;AAAA,GAAf,CAAnB;AAAA,MAAOO,QAAP,sBAX0B;;;AAgB1B,yBAA0BH,KAAK,CAACC,QAAN,CAAe;AAAA,WAAME,QAAQ,CAACC,YAAf;AAAA,GAAf,CAA1B;AAAA,MAAON,KAAP;AAAA,MAAcO,QAAd,uBAhB0B;AAmB1B;;;AACAF,EAAAA,QAAQ,CAACG,UAAT,CAAoB,UAAAC,IAAI;AAAA,wBACnBA,IADmB,EAEnBZ,OAFmB;AAGtBG,MAAAA,KAAK,eACAA,KADA,EAEAH,OAAO,CAACG,KAFR,CAHiB;AAOtB;AACA;AACAC,MAAAA,aAAa,EAAE,uBAAAS,OAAO,EAAI;AACxBH,QAAAA,QAAQ,CAACG,OAAD,CAAR;AACAb,QAAAA,OAAO,CAACI,aAAR,oBAAAJ,OAAO,CAACI,aAAR,CAAwBS,OAAxB;AACD;AAZqB;AAAA,GAAxB;AAeA,SAAOL,QAAP;AACD;;;;"}
@@ -2669,7 +2669,7 @@ var drawChart = (function (exports) {
2669
2669
  </script>
2670
2670
  <script>
2671
2671
  /*<!--*/
2672
- const data = {"version":2,"tree":{"name":"root","children":[{"name":"index.production.js","children":[{"uid":"ff18-107","name":"\u0000rollupPluginBabelHelpers.js"},{"name":"packages/react-table/src/index.tsx","uid":"ff18-109"}]}],"isRoot":true},"nodeParts":{"ff18-107":{"renderedLength":410,"gzipLength":231,"brotliLength":0,"mainUid":"ff18-106"},"ff18-109":{"renderedLength":1429,"gzipLength":565,"brotliLength":0,"mainUid":"ff18-108"}},"nodeMetas":{"ff18-106":{"id":"\u0000rollupPluginBabelHelpers.js","moduleParts":{"index.production.js":"ff18-107"},"imported":[],"importedBy":[{"uid":"ff18-108"}]},"ff18-108":{"id":"/packages/react-table/src/index.tsx","moduleParts":{"index.production.js":"ff18-109"},"imported":[{"uid":"ff18-106"},{"uid":"ff18-110"},{"uid":"ff18-111"}],"importedBy":[],"isEntry":true},"ff18-110":{"id":"react","moduleParts":{},"imported":[],"importedBy":[{"uid":"ff18-108"}],"isExternal":true},"ff18-111":{"id":"@tanstack/table-core","moduleParts":{},"imported":[],"importedBy":[{"uid":"ff18-108"}],"isExternal":true}},"env":{"rollup":"2.66.0"},"options":{"gzip":true,"brotli":false,"sourcemap":false}};
2672
+ const data = {"version":2,"tree":{"name":"root","children":[{"name":"index.production.js","children":[{"uid":"6958-105","name":"\u0000rollupPluginBabelHelpers.js"},{"name":"packages/react-table/src/index.tsx","uid":"6958-107"}]}],"isRoot":true},"nodeParts":{"6958-105":{"renderedLength":410,"gzipLength":231,"brotliLength":0,"mainUid":"6958-104"},"6958-107":{"renderedLength":2378,"gzipLength":855,"brotliLength":0,"mainUid":"6958-106"}},"nodeMetas":{"6958-104":{"id":"\u0000rollupPluginBabelHelpers.js","moduleParts":{"index.production.js":"6958-105"},"imported":[],"importedBy":[{"uid":"6958-106"}]},"6958-106":{"id":"/packages/react-table/src/index.tsx","moduleParts":{"index.production.js":"6958-107"},"imported":[{"uid":"6958-104"},{"uid":"6958-108"},{"uid":"6958-109"}],"importedBy":[],"isEntry":true},"6958-108":{"id":"react","moduleParts":{},"imported":[],"importedBy":[{"uid":"6958-106"}],"isExternal":true},"6958-109":{"id":"@tanstack/table-core","moduleParts":{},"imported":[],"importedBy":[{"uid":"6958-106"}],"isExternal":true}},"env":{"rollup":"2.66.0"},"options":{"gzip":true,"brotli":false,"sourcemap":false}};
2673
2673
 
2674
2674
  const run = () => {
2675
2675
  const width = window.innerWidth;
@@ -7,12 +7,12 @@
7
7
  "name": "index.production.js",
8
8
  "children": [
9
9
  {
10
- "uid": "ff18-113",
10
+ "uid": "6958-111",
11
11
  "name": "\u0000rollupPluginBabelHelpers.js"
12
12
  },
13
13
  {
14
14
  "name": "packages/react-table/src/index.tsx",
15
- "uid": "ff18-115"
15
+ "uid": "6958-113"
16
16
  }
17
17
  ]
18
18
  }
@@ -20,69 +20,69 @@
20
20
  "isRoot": true
21
21
  },
22
22
  "nodeParts": {
23
- "ff18-113": {
23
+ "6958-111": {
24
24
  "renderedLength": 410,
25
25
  "gzipLength": 231,
26
26
  "brotliLength": 0,
27
- "mainUid": "ff18-112"
27
+ "mainUid": "6958-110"
28
28
  },
29
- "ff18-115": {
30
- "renderedLength": 1429,
31
- "gzipLength": 565,
29
+ "6958-113": {
30
+ "renderedLength": 2378,
31
+ "gzipLength": 855,
32
32
  "brotliLength": 0,
33
- "mainUid": "ff18-114"
33
+ "mainUid": "6958-112"
34
34
  }
35
35
  },
36
36
  "nodeMetas": {
37
- "ff18-112": {
37
+ "6958-110": {
38
38
  "id": "\u0000rollupPluginBabelHelpers.js",
39
39
  "moduleParts": {
40
- "index.production.js": "ff18-113"
40
+ "index.production.js": "6958-111"
41
41
  },
42
42
  "imported": [],
43
43
  "importedBy": [
44
44
  {
45
- "uid": "ff18-114"
45
+ "uid": "6958-112"
46
46
  }
47
47
  ]
48
48
  },
49
- "ff18-114": {
49
+ "6958-112": {
50
50
  "id": "/packages/react-table/src/index.tsx",
51
51
  "moduleParts": {
52
- "index.production.js": "ff18-115"
52
+ "index.production.js": "6958-113"
53
53
  },
54
54
  "imported": [
55
55
  {
56
- "uid": "ff18-112"
56
+ "uid": "6958-110"
57
57
  },
58
58
  {
59
- "uid": "ff18-116"
59
+ "uid": "6958-114"
60
60
  },
61
61
  {
62
- "uid": "ff18-117"
62
+ "uid": "6958-115"
63
63
  }
64
64
  ],
65
65
  "importedBy": [],
66
66
  "isEntry": true
67
67
  },
68
- "ff18-116": {
68
+ "6958-114": {
69
69
  "id": "react",
70
70
  "moduleParts": {},
71
71
  "imported": [],
72
72
  "importedBy": [
73
73
  {
74
- "uid": "ff18-114"
74
+ "uid": "6958-112"
75
75
  }
76
76
  ],
77
77
  "isExternal": true
78
78
  },
79
- "ff18-117": {
79
+ "6958-115": {
80
80
  "id": "@tanstack/table-core",
81
81
  "moduleParts": {},
82
82
  "imported": [],
83
83
  "importedBy": [
84
84
  {
85
- "uid": "ff18-114"
85
+ "uid": "6958-112"
86
86
  }
87
87
  ],
88
88
  "isExternal": true
@@ -1,3 +1,13 @@
1
+ import * as React from 'react';
1
2
  export * from '@tanstack/table-core';
2
- import { PartialKeys, Options, TableInstance, PartialGenerics, CreateTableFactoryOptions, TableFactory } from '@tanstack/table-core';
3
- export declare function useTable<TGenerics extends PartialGenerics>(table: TableFactory<TGenerics>, options: PartialKeys<Omit<Options<TGenerics>, keyof CreateTableFactoryOptions<any, any, any>>, 'state' | 'onStateChange'>): TableInstance<TGenerics>;
3
+ import { PartialKeys, Options, TableInstance, CreateTableFactoryOptions, Table, AnyGenerics } from '@tanstack/table-core';
4
+ export declare type Renderable<TProps> = React.ReactNode | React.FunctionComponent<TProps> | React.Component<TProps>;
5
+ export declare const render: <TProps extends {}>(Comp: Renderable<TProps>, props: TProps) => React.ReactNode;
6
+ export declare type Render = typeof render;
7
+ declare const createTable: import("@tanstack/table-core").CreateTableFactory<import("@tanstack/table-core").Overwrite<Partial<import("@tanstack/table-core").DefaultGenerics>, {
8
+ Render: <TProps extends {}>(Comp: Renderable<TProps>, props: TProps) => React.ReactNode;
9
+ }>>, createTableFactory: <TGenerics extends Partial<import("@tanstack/table-core").DefaultGenerics>>(options?: CreateTableFactoryOptions<(<TProps extends {}>(Comp: Renderable<TProps>, props: TProps) => React.ReactNode), any, any, any> | undefined) => import("@tanstack/table-core").CreateTableFactory<import("@tanstack/table-core").Overwrite<TGenerics, {
10
+ Render: <TProps extends {}>(Comp: Renderable<TProps>, props: TProps) => React.ReactNode;
11
+ }>>;
12
+ export { createTable, createTableFactory };
13
+ export declare function useTable<TGenerics extends AnyGenerics>(table: Table<TGenerics>, options: PartialKeys<Omit<Options<TGenerics>, keyof CreateTableFactoryOptions<any, any, any, any>>, 'state' | 'onStateChange'>): TableInstance<TGenerics>;
@@ -52,6 +52,30 @@
52
52
  return _extends.apply(this, arguments);
53
53
  }
54
54
 
55
+ var render = function render(Comp, props) {
56
+ return !Comp ? null : isReactComponent(Comp) ? /*#__PURE__*/React__namespace.createElement(Comp, props) : Comp;
57
+ };
58
+
59
+ function isReactComponent(component) {
60
+ return isClassComponent(component) || typeof component === 'function' || isExoticComponent(component);
61
+ }
62
+
63
+ function isClassComponent(component) {
64
+ return typeof component === 'function' && function () {
65
+ var proto = Object.getPrototypeOf(component);
66
+ return proto.prototype && proto.prototype.isReactComponent;
67
+ }();
68
+ }
69
+
70
+ function isExoticComponent(component) {
71
+ return typeof component === 'object' && typeof component.$$typeof === 'symbol' && ['react.memo', 'react.forward_ref'].includes(component.$$typeof.description);
72
+ }
73
+
74
+ var _init = tableCore.init({
75
+ render: render
76
+ }),
77
+ createTable = _init.createTable,
78
+ createTableFactory = _init.createTableFactory;
55
79
  function useTable(table, options) {
56
80
  var _table$__options;
57
81
 
@@ -59,7 +83,9 @@
59
83
  var resolvedOptions = _extends({}, (_table$__options = table.__options) != null ? _table$__options : {}, {
60
84
  state: {},
61
85
  // Dummy state
62
- onStateChange: function onStateChange() {}
86
+ onStateChange: function onStateChange() {},
87
+ // noop
88
+ render: render
63
89
  }, options); // Create a new table instance and store it in state
64
90
 
65
91
 
@@ -91,6 +117,9 @@
91
117
  return instance;
92
118
  }
93
119
 
120
+ exports.createTable = createTable;
121
+ exports.createTableFactory = createTableFactory;
122
+ exports.render = render;
94
123
  exports.useTable = useTable;
95
124
  Object.keys(tableCore).forEach(function (k) {
96
125
  if (k !== 'default' && !exports.hasOwnProperty(k)) Object.defineProperty(exports, k, {
@@ -1 +1 @@
1
- {"version":3,"file":"index.development.js","sources":["../../src/index.tsx"],"sourcesContent":["import * as React from 'react'\nexport * from '@tanstack/table-core'\n\nimport {\n createTableInstance,\n _NonGenerated,\n PartialKeys,\n Options,\n TableInstance,\n PartialGenerics,\n CreateTableFactoryOptions,\n TableFactory,\n} from '@tanstack/table-core'\n\nexport function useTable<TGenerics extends PartialGenerics>(\n table: TableFactory<TGenerics>,\n options: PartialKeys<\n Omit<Options<TGenerics>, keyof CreateTableFactoryOptions<any, any, any>>,\n 'state' | 'onStateChange'\n >\n): TableInstance<TGenerics> {\n // Compose in the generic options to the user options\n const resolvedOptions = {\n ...(table.__options ?? {}),\n state: {}, // Dummy state\n onStateChange: () => {}, // noop\n ...options,\n }\n\n // Create a new table instance and store it in state\n const [instance] = React.useState(() =>\n createTableInstance<TGenerics>(resolvedOptions)\n )\n\n // By default, manage table state here using the instance's initial state\n const [state, setState] = React.useState(() => instance.initialState)\n\n // Compose the default state above with any user state. This will allow the user\n // to only control a subset of the state if desired.\n instance.setOptions(prev => ({\n ...prev,\n ...options,\n state: {\n ...state,\n ...options.state,\n },\n // Similarly, we'll maintain both our internal state and any user-provided\n // state.\n onStateChange: updater => {\n setState(updater)\n options.onStateChange?.(updater)\n },\n }))\n\n return instance\n}\n"],"names":["useTable","table","options","resolvedOptions","__options","state","onStateChange","React","useState","createTableInstance","instance","initialState","setState","setOptions","prev","updater"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAcO,SAASA,QAAT,CACLC,KADK,EAELC,OAFK,EAMqB;EAAA;;EAC1B;EACA,MAAMC,eAAe,oCACfF,KAAK,CAACG,SADS,+BACI,EADJ;EAEnBC,IAAAA,KAAK,EAAE,EAFY;EAER;EACXC,IAAAA,aAAa,EAAE,yBAAM;EAHF,KAIhBJ,OAJgB,CAArB,CAF0B;;;EAU1B,wBAAmBK,gBAAK,CAACC,QAAN,CAAe;EAAA,WAChCC,6BAAmB,CAAYN,eAAZ,CADa;EAAA,GAAf,CAAnB;EAAA,MAAOO,QAAP,sBAV0B;;;EAe1B,yBAA0BH,gBAAK,CAACC,QAAN,CAAe;EAAA,WAAME,QAAQ,CAACC,YAAf;EAAA,GAAf,CAA1B;EAAA,MAAON,KAAP;EAAA,MAAcO,QAAd,uBAf0B;EAkB1B;;;EACAF,EAAAA,QAAQ,CAACG,UAAT,CAAoB,UAAAC,IAAI;EAAA,wBACnBA,IADmB,EAEnBZ,OAFmB;EAGtBG,MAAAA,KAAK,eACAA,KADA,EAEAH,OAAO,CAACG,KAFR,CAHiB;EAOtB;EACA;EACAC,MAAAA,aAAa,EAAE,uBAAAS,OAAO,EAAI;EACxBH,QAAAA,QAAQ,CAACG,OAAD,CAAR;EACAb,QAAAA,OAAO,CAACI,aAAR,oBAAAJ,OAAO,CAACI,aAAR,CAAwBS,OAAxB;EACD;EAZqB;EAAA,GAAxB;EAeA,SAAOL,QAAP;EACD;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.development.js","sources":["../../src/index.tsx"],"sourcesContent":["import * as React from 'react'\nexport * from '@tanstack/table-core'\n\nimport {\n createTableInstance,\n _NonGenerated,\n PartialKeys,\n Options,\n TableInstance,\n PartialGenerics,\n CreateTableFactoryOptions,\n Table,\n init,\n AnyGenerics,\n} from '@tanstack/table-core'\n\nexport type Renderable<TProps> =\n | React.ReactNode\n | React.FunctionComponent<TProps>\n | React.Component<TProps>\n\nexport const render = <TProps extends {}>(\n Comp: Renderable<TProps>,\n props: TProps\n): React.ReactNode =>\n !Comp ? null : isReactComponent(Comp) ? <Comp {...props} /> : Comp\n\nexport type Render = typeof render\n\nfunction isReactComponent(component: unknown): component is React.FC {\n return (\n isClassComponent(component) ||\n typeof component === 'function' ||\n isExoticComponent(component)\n )\n}\n\nfunction isClassComponent(component: any) {\n return (\n typeof component === 'function' &&\n (() => {\n const proto = Object.getPrototypeOf(component)\n return proto.prototype && proto.prototype.isReactComponent\n })()\n )\n}\n\nfunction isExoticComponent(component: any) {\n return (\n typeof component === 'object' &&\n typeof component.$$typeof === 'symbol' &&\n ['react.memo', 'react.forward_ref'].includes(component.$$typeof.description)\n )\n}\n\nconst { createTable, createTableFactory } = init({ render })\n\nexport { createTable, createTableFactory }\n\nexport function useTable<TGenerics extends AnyGenerics>(\n table: Table<TGenerics>,\n options: PartialKeys<\n Omit<\n Options<TGenerics>,\n keyof CreateTableFactoryOptions<any, any, any, any>\n >,\n 'state' | 'onStateChange'\n >\n): TableInstance<TGenerics> {\n // Compose in the generic options to the user options\n const resolvedOptions: Options<TGenerics> = {\n ...(table.__options ?? {}),\n state: {}, // Dummy state\n onStateChange: () => {}, // noop\n render,\n ...options,\n }\n\n // Create a new table instance and store it in state\n const [instance] = React.useState(() =>\n createTableInstance<TGenerics>(resolvedOptions)\n )\n\n // By default, manage table state here using the instance's initial state\n const [state, setState] = React.useState(() => instance.initialState)\n\n // Compose the default state above with any user state. This will allow the user\n // to only control a subset of the state if desired.\n instance.setOptions(prev => ({\n ...prev,\n ...options,\n state: {\n ...state,\n ...options.state,\n },\n // Similarly, we'll maintain both our internal state and any user-provided\n // state.\n onStateChange: updater => {\n setState(updater)\n options.onStateChange?.(updater)\n },\n }))\n\n return instance\n}\n"],"names":["render","Comp","props","isReactComponent","React","component","isClassComponent","isExoticComponent","proto","Object","getPrototypeOf","prototype","$$typeof","includes","description","init","createTable","createTableFactory","useTable","table","options","resolvedOptions","__options","state","onStateChange","useState","createTableInstance","instance","initialState","setState","setOptions","prev","updater"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAqBaA,MAAM,GAAG,SAATA,MAAS,CACpBC,IADoB,EAEpBC,KAFoB;EAAA,SAIpB,CAACD,IAAD,GAAQ,IAAR,GAAeE,gBAAgB,CAACF,IAAD,CAAhB,gBAAyBG,+BAAC,IAAD,EAAUF,KAAV,CAAzB,GAA+CD,IAJ1C;EAAA;;EAQtB,SAASE,gBAAT,CAA0BE,SAA1B,EAAqE;EACnE,SACEC,gBAAgB,CAACD,SAAD,CAAhB,IACA,OAAOA,SAAP,KAAqB,UADrB,IAEAE,iBAAiB,CAACF,SAAD,CAHnB;EAKD;;EAED,SAASC,gBAAT,CAA0BD,SAA1B,EAA0C;EACxC,SACE,OAAOA,SAAP,KAAqB,UAArB,IACC,YAAM;EACL,QAAMG,KAAK,GAAGC,MAAM,CAACC,cAAP,CAAsBL,SAAtB,CAAd;EACA,WAAOG,KAAK,CAACG,SAAN,IAAmBH,KAAK,CAACG,SAAN,CAAgBR,gBAA1C;EACD,GAHD,EAFF;EAOD;;EAED,SAASI,iBAAT,CAA2BF,SAA3B,EAA2C;EACzC,SACE,OAAOA,SAAP,KAAqB,QAArB,IACA,OAAOA,SAAS,CAACO,QAAjB,KAA8B,QAD9B,IAEA,CAAC,YAAD,EAAe,mBAAf,EAAoCC,QAApC,CAA6CR,SAAS,CAACO,QAAV,CAAmBE,WAAhE,CAHF;EAKD;;cAE2CC,cAAI,CAAC;EAAEf,EAAAA,MAAM,EAANA;EAAF,CAAD,CAAhD;EAAA,IAAQgB,WAAR,SAAQA,WAAR;EAAA,IAAqBC,kBAArB,SAAqBA;EAId,SAASC,QAAT,CACLC,KADK,EAELC,OAFK,EASqB;EAAA;;EAC1B;EACA,MAAMC,eAAmC,oCACnCF,KAAK,CAACG,SAD6B,+BAChB,EADgB;EAEvCC,IAAAA,KAAK,EAAE,EAFgC;EAE5B;EACXC,IAAAA,aAAa,EAAE,yBAAM,EAHkB;EAGd;EACzBxB,IAAAA,MAAM,EAANA;EAJuC,KAKpCoB,OALoC,CAAzC,CAF0B;;;EAW1B,wBAAmBhB,gBAAK,CAACqB,QAAN,CAAe;EAAA,WAChCC,6BAAmB,CAAYL,eAAZ,CADa;EAAA,GAAf,CAAnB;EAAA,MAAOM,QAAP,sBAX0B;;;EAgB1B,yBAA0BvB,gBAAK,CAACqB,QAAN,CAAe;EAAA,WAAME,QAAQ,CAACC,YAAf;EAAA,GAAf,CAA1B;EAAA,MAAOL,KAAP;EAAA,MAAcM,QAAd,uBAhB0B;EAmB1B;;;EACAF,EAAAA,QAAQ,CAACG,UAAT,CAAoB,UAAAC,IAAI;EAAA,wBACnBA,IADmB,EAEnBX,OAFmB;EAGtBG,MAAAA,KAAK,eACAA,KADA,EAEAH,OAAO,CAACG,KAFR,CAHiB;EAOtB;EACA;EACAC,MAAAA,aAAa,EAAE,uBAAAQ,OAAO,EAAI;EACxBH,QAAAA,QAAQ,CAACG,OAAD,CAAR;EACAZ,QAAAA,OAAO,CAACI,aAAR,oBAAAJ,OAAO,CAACI,aAAR,CAAwBQ,OAAxB;EACD;EAZqB;EAAA,GAAxB;EAeA,SAAOL,QAAP;EACD;;;;;;;;;;;;;;;;;;;"}
@@ -8,5 +8,5 @@
8
8
  *
9
9
  * @license MIT
10
10
  */
11
- !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("react"),require("@tanstack/table-core")):"function"==typeof define&&define.amd?define(["exports","react","@tanstack/table-core"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).ReactTable={},e.React,e.TableCore)}(this,(function(e,t,n){"use strict";function r(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(n){if("default"!==n){var r=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,r.get?r:{enumerable:!0,get:function(){return e[n]}})}})),t.default=e,Object.freeze(t)}var a=r(t);function o(){return o=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},o.apply(this,arguments)}e.useTable=function(e,t){var r,u=o({},null!=(r=e.__options)?r:{},{state:{},onStateChange:function(){}},t),c=a.useState((function(){return n.createTableInstance(u)}))[0],i=a.useState((function(){return c.initialState})),f=i[0],l=i[1];return c.setOptions((function(e){return o({},e,t,{state:o({},f,t.state),onStateChange:function(e){l(e),null==t.onStateChange||t.onStateChange(e)}})})),c},Object.keys(n).forEach((function(t){"default"===t||e.hasOwnProperty(t)||Object.defineProperty(e,t,{enumerable:!0,get:function(){return n[t]}})})),Object.defineProperty(e,"__esModule",{value:!0})}));
11
+ !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("react"),require("@tanstack/table-core")):"function"==typeof define&&define.amd?define(["exports","react","@tanstack/table-core"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).ReactTable={},e.React,e.TableCore)}(this,(function(e,t,n){"use strict";function r(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(n){if("default"!==n){var r=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,r.get?r:{enumerable:!0,get:function(){return e[n]}})}})),t.default=e,Object.freeze(t)}var o=r(t);function a(){return a=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},a.apply(this,arguments)}var c=function(e,t){return e?function(e){return"function"==typeof e&&((t=Object.getPrototypeOf(e)).prototype&&t.prototype.isReactComponent);var t}(n=e)||"function"==typeof n||function(e){return"object"==typeof e&&"symbol"==typeof e.$$typeof&&["react.memo","react.forward_ref"].includes(e.$$typeof.description)}(n)?o.createElement(e,t):e:null;var n};var u=n.init({render:c}),f=u.createTable,i=u.createTableFactory;e.createTable=f,e.createTableFactory=i,e.render=c,e.useTable=function(e,t){var r,u=a({},null!=(r=e.__options)?r:{},{state:{},onStateChange:function(){},render:c},t),f=o.useState((function(){return n.createTableInstance(u)}))[0],i=o.useState((function(){return f.initialState})),l=i[0],s=i[1];return f.setOptions((function(e){return a({},e,t,{state:a({},l,t.state),onStateChange:function(e){s(e),null==t.onStateChange||t.onStateChange(e)}})})),f},Object.keys(n).forEach((function(t){"default"===t||e.hasOwnProperty(t)||Object.defineProperty(e,t,{enumerable:!0,get:function(){return n[t]}})})),Object.defineProperty(e,"__esModule",{value:!0})}));
12
12
  //# sourceMappingURL=index.production.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.production.js","sources":["../../src/index.tsx"],"sourcesContent":["import * as React from 'react'\nexport * from '@tanstack/table-core'\n\nimport {\n createTableInstance,\n _NonGenerated,\n PartialKeys,\n Options,\n TableInstance,\n PartialGenerics,\n CreateTableFactoryOptions,\n TableFactory,\n} from '@tanstack/table-core'\n\nexport function useTable<TGenerics extends PartialGenerics>(\n table: TableFactory<TGenerics>,\n options: PartialKeys<\n Omit<Options<TGenerics>, keyof CreateTableFactoryOptions<any, any, any>>,\n 'state' | 'onStateChange'\n >\n): TableInstance<TGenerics> {\n // Compose in the generic options to the user options\n const resolvedOptions = {\n ...(table.__options ?? {}),\n state: {}, // Dummy state\n onStateChange: () => {}, // noop\n ...options,\n }\n\n // Create a new table instance and store it in state\n const [instance] = React.useState(() =>\n createTableInstance<TGenerics>(resolvedOptions)\n )\n\n // By default, manage table state here using the instance's initial state\n const [state, setState] = React.useState(() => instance.initialState)\n\n // Compose the default state above with any user state. This will allow the user\n // to only control a subset of the state if desired.\n instance.setOptions(prev => ({\n ...prev,\n ...options,\n state: {\n ...state,\n ...options.state,\n },\n // Similarly, we'll maintain both our internal state and any user-provided\n // state.\n onStateChange: updater => {\n setState(updater)\n options.onStateChange?.(updater)\n },\n }))\n\n return instance\n}\n"],"names":["table","options","resolvedOptions","__options","state","onStateChange","instance","React","useState","createTableInstance","initialState","setState","setOptions","prev","updater"],"mappings":";;;;;;;;;;+1BAcO,SACLA,EACAC,SAMMC,gBACAF,EAAMG,aAAa,IACvBC,MAAO,GACPC,cAAe,cACZJ,GAIEK,EAAYC,EAAMC,UAAS,kBAChCC,sBAA+BP,WAIPK,EAAMC,UAAS,kBAAMF,EAASI,gBAAjDN,OAAOO,cAIdL,EAASM,YAAW,SAAAC,eACfA,EACAZ,GACHG,WACKA,EACAH,EAAQG,OAIbC,cAAe,SAAAS,GACbH,EAASG,SACTb,EAAQI,eAARJ,EAAQI,cAAgBS,SAIrBR"}
1
+ {"version":3,"file":"index.production.js","sources":["../../src/index.tsx"],"sourcesContent":["import * as React from 'react'\nexport * from '@tanstack/table-core'\n\nimport {\n createTableInstance,\n _NonGenerated,\n PartialKeys,\n Options,\n TableInstance,\n PartialGenerics,\n CreateTableFactoryOptions,\n Table,\n init,\n AnyGenerics,\n} from '@tanstack/table-core'\n\nexport type Renderable<TProps> =\n | React.ReactNode\n | React.FunctionComponent<TProps>\n | React.Component<TProps>\n\nexport const render = <TProps extends {}>(\n Comp: Renderable<TProps>,\n props: TProps\n): React.ReactNode =>\n !Comp ? null : isReactComponent(Comp) ? <Comp {...props} /> : Comp\n\nexport type Render = typeof render\n\nfunction isReactComponent(component: unknown): component is React.FC {\n return (\n isClassComponent(component) ||\n typeof component === 'function' ||\n isExoticComponent(component)\n )\n}\n\nfunction isClassComponent(component: any) {\n return (\n typeof component === 'function' &&\n (() => {\n const proto = Object.getPrototypeOf(component)\n return proto.prototype && proto.prototype.isReactComponent\n })()\n )\n}\n\nfunction isExoticComponent(component: any) {\n return (\n typeof component === 'object' &&\n typeof component.$$typeof === 'symbol' &&\n ['react.memo', 'react.forward_ref'].includes(component.$$typeof.description)\n )\n}\n\nconst { createTable, createTableFactory } = init({ render })\n\nexport { createTable, createTableFactory }\n\nexport function useTable<TGenerics extends AnyGenerics>(\n table: Table<TGenerics>,\n options: PartialKeys<\n Omit<\n Options<TGenerics>,\n keyof CreateTableFactoryOptions<any, any, any, any>\n >,\n 'state' | 'onStateChange'\n >\n): TableInstance<TGenerics> {\n // Compose in the generic options to the user options\n const resolvedOptions: Options<TGenerics> = {\n ...(table.__options ?? {}),\n state: {}, // Dummy state\n onStateChange: () => {}, // noop\n render,\n ...options,\n }\n\n // Create a new table instance and store it in state\n const [instance] = React.useState(() =>\n createTableInstance<TGenerics>(resolvedOptions)\n )\n\n // By default, manage table state here using the instance's initial state\n const [state, setState] = React.useState(() => instance.initialState)\n\n // Compose the default state above with any user state. This will allow the user\n // to only control a subset of the state if desired.\n instance.setOptions(prev => ({\n ...prev,\n ...options,\n state: {\n ...state,\n ...options.state,\n },\n // Similarly, we'll maintain both our internal state and any user-provided\n // state.\n onStateChange: updater => {\n setState(updater)\n options.onStateChange?.(updater)\n },\n }))\n\n return instance\n}\n"],"names":["render","Comp","props","component","proto","Object","getPrototypeOf","prototype","isReactComponent","isClassComponent","$$typeof","includes","description","isExoticComponent","React","init","createTable","createTableFactory","table","options","resolvedOptions","__options","state","onStateChange","instance","useState","createTableInstance","initialState","setState","setOptions","prev","updater"],"mappings":";;;;;;;;;;w1BAqBaA,EAAS,SACpBC,EACAC,UAECD,EAYH,SAA0BE,SAED,mBAAdA,KAECC,EAAQC,OAAOC,eAAeH,IACvBI,WAAaH,EAAMG,UAAUC,kBAF3C,IACOJ,EAVRK,CAFsBN,EAJQF,IAOT,mBAAdE,GAeX,SAA2BA,SAEF,iBAAdA,GACuB,iBAAvBA,EAAUO,UACjB,CAAC,aAAc,qBAAqBC,SAASR,EAAUO,SAASE,aAlBhEC,CAAkBV,GARoBW,gBAACb,EAASC,GAAYD,EAAtD,KAIV,IAA0BE,SA0BkBY,OAAK,CAAEf,OAAAA,IAA3CgB,IAAAA,YAAaC,IAAAA,gFAId,SACLC,EACAC,SASMC,gBACAF,EAAMG,aAAa,IACvBC,MAAO,GACPC,cAAe,aACfvB,OAAAA,GACGmB,GAIEK,EAAYV,EAAMW,UAAS,kBAChCC,sBAA+BN,WAIPN,EAAMW,UAAS,kBAAMD,EAASG,gBAAjDL,OAAOM,cAIdJ,EAASK,YAAW,SAAAC,eACfA,EACAX,GACHG,WACKA,EACAH,EAAQG,OAIbC,cAAe,SAAAQ,GACbH,EAASG,SACTZ,EAAQI,eAARJ,EAAQI,cAAgBQ,SAIrBP"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@tanstack/react-table",
3
3
  "author": "Tanner Linsley",
4
- "version": "8.0.0-alpha.11",
4
+ "version": "8.0.0-alpha.14",
5
5
  "description": "Hooks for building lightweight, fast and extendable datagrids for React",
6
6
  "license": "MIT",
7
7
  "homepage": "https://github.com/tanstack/react-table#readme",
package/src/index.tsx CHANGED
@@ -9,21 +9,70 @@ import {
9
9
  TableInstance,
10
10
  PartialGenerics,
11
11
  CreateTableFactoryOptions,
12
- TableFactory,
12
+ Table,
13
+ init,
14
+ AnyGenerics,
13
15
  } from '@tanstack/table-core'
14
16
 
15
- export function useTable<TGenerics extends PartialGenerics>(
16
- table: TableFactory<TGenerics>,
17
+ export type Renderable<TProps> =
18
+ | React.ReactNode
19
+ | React.FunctionComponent<TProps>
20
+ | React.Component<TProps>
21
+
22
+ export const render = <TProps extends {}>(
23
+ Comp: Renderable<TProps>,
24
+ props: TProps
25
+ ): React.ReactNode =>
26
+ !Comp ? null : isReactComponent(Comp) ? <Comp {...props} /> : Comp
27
+
28
+ export type Render = typeof render
29
+
30
+ function isReactComponent(component: unknown): component is React.FC {
31
+ return (
32
+ isClassComponent(component) ||
33
+ typeof component === 'function' ||
34
+ isExoticComponent(component)
35
+ )
36
+ }
37
+
38
+ function isClassComponent(component: any) {
39
+ return (
40
+ typeof component === 'function' &&
41
+ (() => {
42
+ const proto = Object.getPrototypeOf(component)
43
+ return proto.prototype && proto.prototype.isReactComponent
44
+ })()
45
+ )
46
+ }
47
+
48
+ function isExoticComponent(component: any) {
49
+ return (
50
+ typeof component === 'object' &&
51
+ typeof component.$$typeof === 'symbol' &&
52
+ ['react.memo', 'react.forward_ref'].includes(component.$$typeof.description)
53
+ )
54
+ }
55
+
56
+ const { createTable, createTableFactory } = init({ render })
57
+
58
+ export { createTable, createTableFactory }
59
+
60
+ export function useTable<TGenerics extends AnyGenerics>(
61
+ table: Table<TGenerics>,
17
62
  options: PartialKeys<
18
- Omit<Options<TGenerics>, keyof CreateTableFactoryOptions<any, any, any>>,
63
+ Omit<
64
+ Options<TGenerics>,
65
+ keyof CreateTableFactoryOptions<any, any, any, any>
66
+ >,
19
67
  'state' | 'onStateChange'
20
68
  >
21
69
  ): TableInstance<TGenerics> {
22
70
  // Compose in the generic options to the user options
23
- const resolvedOptions = {
71
+ const resolvedOptions: Options<TGenerics> = {
24
72
  ...(table.__options ?? {}),
25
73
  state: {}, // Dummy state
26
74
  onStateChange: () => {}, // noop
75
+ render,
27
76
  ...options,
28
77
  }
29
78