Launch Week Day 5: Introducing Reachability for PHP.Learn More
Socket
Book a DemoSign in
Socket

@tanstack/table-core

Package Overview
Dependencies
Maintainers
1
Versions
210
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@tanstack/table-core - npm Package Compare versions

Comparing version
8.0.0-alpha.72
to
8.0.0-alpha.73
+2
-2
build/cjs/core.js

@@ -153,3 +153,3 @@ /**

initialState,
queue: cb => {
_queue: cb => {
queued.push(cb);

@@ -212,3 +212,3 @@

},
render: (template, props) => {
_render: (template, props) => {
if (typeof instance.options.render === 'function') {

@@ -215,0 +215,0 @@ return instance.options.render(template, props);

@@ -1,1 +0,1 @@

{"version":3,"file":"core.js","sources":["../../src/core.ts"],"sourcesContent":["import { functionalUpdate, RequiredKeys } from './utils'\n\nimport {\n Updater,\n TableOptions,\n TableState,\n TableInstance,\n Renderable,\n TableFeature,\n TableGenerics,\n InitialTableState,\n} from './types'\n\nimport { Columns } from './features/Columns'\nimport { Rows } from './features/Rows'\nimport { Cells } from './features/Cells'\nimport { ColumnSizing } from './features/ColumnSizing'\nimport { Expanding } from './features/Expanding'\nimport { Filters } from './features/Filters'\nimport { Grouping } from './features/Grouping'\nimport { Ordering } from './features/Ordering'\nimport { Pagination } from './features/Pagination'\nimport { Pinning } from './features/Pinning'\nimport { RowSelection } from './features/RowSelection'\nimport { Sorting } from './features/Sorting'\nimport { Visibility } from './features/Visibility'\nimport { Headers } from './features/Headers'\n//\n\nexport type CoreTableState = {\n // coreProgress: number\n}\n\nexport type CoreOptions<TGenerics extends TableGenerics> = {\n data: TGenerics['Row'][]\n state: Partial<TableState>\n onStateChange: (updater: Updater<TableState>) => void\n render: TGenerics['Renderer']\n debugAll?: boolean\n debugTable?: boolean\n debugHeaders?: boolean\n debugColumns?: boolean\n debugRows?: boolean\n initialState?: InitialTableState\n autoResetAll?: boolean\n mergeOptions?: <T>(defaultOptions: T, options: Partial<T>) => T\n keepPreviousData?: boolean\n meta?: TGenerics['TableMeta']\n}\n\nexport type CoreInstance<TGenerics extends TableGenerics> = {\n // generics: TGenerics\n initialState: TableState\n reset: () => void\n options: RequiredKeys<TableOptions<TGenerics>, 'state'>\n setOptions: (newOptions: Updater<TableOptions<TGenerics>>) => void\n queue: (cb: () => void) => void\n getState: () => TableState\n setState: (updater: Updater<TableState>) => void\n render: <TProps>(\n template: Renderable<TGenerics, TProps>,\n props: TProps\n ) => string | null | TGenerics['Rendered']\n // getOverallProgress: () => number\n // getProgressStage: () =>\n // | undefined\n // | 'coreRowModel'\n // | 'filteredRowModel'\n // | 'facetedRowModel'\n _features: readonly TableFeature[]\n // createBatch: (priority: keyof CoreBatches) => Batch\n // init: () => void\n // willUpdate: () => void\n // destroy: () => void\n // batches: CoreBatches\n}\n\n// export type Batch = {\n// id: number\n// priority: keyof CoreBatches\n// tasks: (() => void)[]\n// schedule: (cb: () => void) => void\n// cancel: () => void\n// }\n\n// type CoreBatches = {\n// data: Batch[]\n// facets: Batch[]\n// }\n\n// export type TaskPriority = keyof CoreBatches\n\nexport function createTableInstance<TGenerics extends TableGenerics>(\n options: TableOptions<TGenerics>\n): TableInstance<TGenerics> {\n if (options.debugAll || options.debugTable) {\n console.info('Creating Table Instance...')\n }\n\n let instance = {\n _features: [\n Columns,\n Rows,\n Cells,\n Headers,\n Visibility,\n Ordering,\n Pinning,\n Filters,\n Sorting,\n Grouping,\n Expanding,\n Pagination,\n RowSelection,\n ColumnSizing,\n ] as const,\n } as unknown as CoreInstance<TGenerics>\n\n const defaultOptions = instance._features.reduce((obj, feature) => {\n return Object.assign(obj, feature.getDefaultOptions?.(instance))\n }, {}) as TableOptions<TGenerics>\n\n const mergeOptions = (options: TableOptions<TGenerics>) => {\n if (instance.options.mergeOptions) {\n return instance.options.mergeOptions(defaultOptions, options)\n }\n\n return {\n ...defaultOptions,\n ...options,\n }\n }\n\n const coreInitialState: CoreTableState = {\n // coreProgress: 1,\n }\n\n let initialState = {\n ...coreInitialState,\n ...(options.initialState ?? {}),\n } as TableState\n\n instance._features.forEach(feature => {\n initialState = feature.getInitialState?.(initialState) ?? initialState\n })\n\n const queued: (() => void)[] = []\n let queuedTimeout = false\n\n // let workScheduled = false\n // let working = false\n // let latestCallback: ReturnType<typeof requestIdleCallback>\n // let batchUid = 0\n // const onProgress = () => {}\n // const getBatch = () => {\n // instance.batches.data = instance.batches.data.filter(d => d.tasks.length)\n // instance.batches.facets = instance.batches.facets.filter(\n // d => d.tasks.length\n // )\n\n // return (\n // instance.batches.data.find(d => d.tasks.length) ??\n // instance.batches.facets.find(d => d.tasks.length)\n // )\n // }\n\n // const startWorkLoop = () => {\n // working = true\n\n // const workLoop = (deadline: IdleDeadline) => {\n // const batch = getBatch()\n\n // if (!batch) {\n // working = false\n // return\n // }\n // // Prioritize tasks\n // while (deadline.timeRemaining() > 0 && batch.tasks.length) {\n // batch.tasks.shift()!()\n // }\n\n // onProgress()\n\n // if (working) {\n // latestCallback = requestIdleCallback(workLoop, { timeout: 10000 })\n // }\n // }\n\n // latestCallback = requestIdleCallback(workLoop, { timeout: 10000 })\n // }\n\n // const startWork = () => {\n // if (getBatch() && !working) {\n // if (\n // (process.env.NODE_ENV === 'development' && instance.options.debugAll) ??\n // instance.options.debugTable\n // ) {\n // console.info('Starting work...')\n // }\n // startWorkLoop()\n // }\n // }\n\n // const stopWork = () => {\n // if (working) {\n // if (\n // (process.env.NODE_ENV === 'development' && instance.options.debugAll) ??\n // instance.options.debugTable\n // ) {\n // console.info('Stopping work...')\n // }\n\n // working = false\n // cancelIdleCallback(latestCallback)\n // }\n // }\n\n const midInstance: CoreInstance<TGenerics> = {\n ...instance,\n // init: () => {\n // startWork()\n // },\n // willUpdate: () => {\n // startWork()\n // },\n // destroy: () => {\n // stopWork()\n // },\n options: {\n ...defaultOptions,\n ...options,\n },\n initialState,\n queue: cb => {\n queued.push(cb)\n\n if (!queuedTimeout) {\n queuedTimeout = true\n\n // Schedule a microtask to run the queued callbacks after\n // the current call stack (render, etc) has finished.\n Promise.resolve()\n .then(() => {\n while (queued.length) {\n queued.shift()!()\n }\n queuedTimeout = false\n })\n .catch(error =>\n setTimeout(() => {\n throw error\n })\n )\n }\n },\n // batches: {\n // data: [],\n // facets: [],\n // },\n // createBatch: priority => {\n // const batchId = batchUid++\n // let canceled: boolean\n\n // const batch: Batch = {\n // id: batchId,\n // priority,\n // tasks: [],\n // schedule: cb => {\n // if (canceled) return\n // batch.tasks.push(cb)\n\n // if (!working && !workScheduled) {\n // workScheduled = true\n // instance.queue(() => {\n // workScheduled = false\n // instance.setState(old => ({ ...old }))\n // })\n // }\n // },\n // cancel: () => {\n // canceled = true\n // batch.tasks = []\n // instance.batches[priority] = instance.batches[priority].filter(\n // b => b.id !== batchId\n // )\n // },\n // }\n\n // instance.batches[priority].push(batch)\n\n // return batch\n // },\n reset: () => {\n instance.setState(instance.initialState)\n },\n setOptions: updater => {\n const newOptions = functionalUpdate(updater, instance.options)\n instance.options = mergeOptions(newOptions)\n },\n render: (template, props) => {\n if (typeof instance.options.render === 'function') {\n return instance.options.render(template, props)\n }\n\n if (typeof template === 'function') {\n return (template as Function)(props)\n }\n\n return template\n },\n\n getState: () => {\n return instance.options.state as TableState\n },\n\n setState: (updater: Updater<TableState>) => {\n instance.options.onStateChange?.(updater)\n },\n\n // getOverallProgress: () => {\n // const { coreProgress, filtersProgress, facetProgress } =\n // instance.getState()\n\n // return mean(() =>\n // [coreProgress, filtersProgress].filter(d => d < 1)\n // ) as number\n // },\n // getProgressStage: () => {\n // const { coreProgress, filtersProgress, facetProgress } =\n // instance.getState()\n\n // if (coreProgress < 1) {\n // return 'coreRowModel'\n // }\n\n // if (filtersProgress < 1) {\n // return 'filteredRowModel'\n // }\n\n // if (Object.values(facetProgress).some(d => d < 1)) {\n // return 'facetedRowModel'\n // }\n // },\n }\n\n instance = Object.assign(instance, midInstance)\n\n instance._features.forEach(feature => {\n return Object.assign(instance, feature.createInstance?.(instance))\n })\n\n return instance as TableInstance<TGenerics>\n}\n"],"names":["createTableInstance","options","debugAll","debugTable","console","info","instance","_features","Columns","Rows","Cells","Headers","Visibility","Ordering","Pinning","Filters","Sorting","Grouping","Expanding","Pagination","RowSelection","ColumnSizing","defaultOptions","reduce","obj","feature","Object","assign","getDefaultOptions","mergeOptions","coreInitialState","initialState","forEach","getInitialState","queued","queuedTimeout","midInstance","queue","cb","push","Promise","resolve","then","length","shift","catch","error","setTimeout","reset","setState","setOptions","updater","newOptions","functionalUpdate","render","template","props","getState","state","onStateChange","createInstance"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA6EA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AAEO,SAASA,mBAAT,CACLC,OADK,EAEqB;AAAA,EAAA,IAAA,qBAAA,CAAA;;AAC1B,EAAA,IAAIA,OAAO,CAACC,QAAR,IAAoBD,OAAO,CAACE,UAAhC,EAA4C;AAC1CC,IAAAA,OAAO,CAACC,IAAR,CAAa,4BAAb,CAAA,CAAA;AACD,GAAA;;AAED,EAAA,IAAIC,QAAQ,GAAG;AACbC,IAAAA,SAAS,EAAE,CACTC,eADS,EAETC,SAFS,EAGTC,WAHS,EAITC,eAJS,EAKTC,qBALS,EAMTC,iBANS,EAOTC,eAPS,EAQTC,eARS,EASTC,eATS,EAUTC,iBAVS,EAWTC,mBAXS,EAYTC,qBAZS,EAaTC,yBAbS,EAcTC,yBAdS,CAAA;AADE,GAAf,CAAA;;AAmBA,EAAA,MAAMC,cAAc,GAAGhB,QAAQ,CAACC,SAAT,CAAmBgB,MAAnB,CAA0B,CAACC,GAAD,EAAMC,OAAN,KAAkB;AACjE,IAAA,OAAOC,MAAM,CAACC,MAAP,CAAcH,GAAd,EAAmBC,OAAO,CAACG,iBAA3B,IAAA,IAAA,GAAA,KAAA,CAAA,GAAmBH,OAAO,CAACG,iBAAR,CAA4BtB,QAA5B,CAAnB,CAAP,CAAA;AACD,GAFsB,EAEpB,EAFoB,CAAvB,CAAA;;AAIA,EAAMuB,MAAAA,YAAY,GAAI5B,OAAD,IAAsC;AACzD,IAAA,IAAIK,QAAQ,CAACL,OAAT,CAAiB4B,YAArB,EAAmC;AACjC,MAAOvB,OAAAA,QAAQ,CAACL,OAAT,CAAiB4B,YAAjB,CAA8BP,cAA9B,EAA8CrB,OAA9C,CAAP,CAAA;AACD,KAAA;;AAED,IAAO,OAAA,EACL,GAAGqB,cADE;AAEL,MAAGrB,GAAAA,OAAAA;AAFE,KAAP,CAAA;AAID,GATD,CAAA;;AAWA,EAAM6B,MAAAA,gBAAgC,GAAG;AAAA,GAAzC,CAAA;AAIA,EAAA,IAAIC,YAAY,GAAG,EACjB,GAAGD,gBADc;AAEjB,IAAA,IAAA,CAAA,qBAAA,GAAI7B,OAAO,CAAC8B,YAAZ,KAAA,IAAA,GAAA,qBAAA,GAA4B,EAA5B,CAAA;AAFiB,GAAnB,CAAA;;AAKAzB,EAAAA,QAAQ,CAACC,SAAT,CAAmByB,OAAnB,CAA2BP,OAAO,IAAI;AAAA,IAAA,IAAA,qBAAA,CAAA;;AACpCM,IAAAA,YAAY,GAAA,CAAA,qBAAA,GAAGN,OAAO,CAACQ,eAAX,IAAA,IAAA,GAAA,KAAA,CAAA,GAAGR,OAAO,CAACQ,eAAR,CAA0BF,YAA1B,CAAH,oCAA8CA,YAA1D,CAAA;AACD,GAFD,CAAA,CAAA;;AAIA,EAAMG,MAAAA,MAAsB,GAAG,EAA/B,CAAA;AACA,EAAA,IAAIC,aAAa,GAAG,KAApB,CArD0B;AAwD1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AAEA;AACA;AAEA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AAEA;AACA;AACA;AACA;AAEA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;;AAEA,EAAA,MAAMC,WAAoC,GAAG,EAC3C,GAAG9B,QADwC;AAE3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACAL,IAAAA,OAAO,EAAE,EACP,GAAGqB,cADI;AAEP,MAAGrB,GAAAA,OAAAA;AAFI,KAXkC;AAe3C8B,IAAAA,YAf2C;AAgB3CM,IAAAA,KAAK,EAAEC,EAAE,IAAI;AACXJ,MAAAA,MAAM,CAACK,IAAP,CAAYD,EAAZ,CAAA,CAAA;;AAEA,MAAI,IAAA,CAACH,aAAL,EAAoB;AAClBA,QAAAA,aAAa,GAAG,IAAhB,CADkB;AAIlB;;AACAK,QAAAA,OAAO,CAACC,OAAR,EACGC,CAAAA,IADH,CACQ,MAAM;AACV,UAAOR,OAAAA,MAAM,CAACS,MAAd,EAAsB;AACpBT,YAAAA,MAAM,CAACU,KAAP,EAAA,EAAA,CAAA;AACD,WAAA;;AACDT,UAAAA,aAAa,GAAG,KAAhB,CAAA;AACD,SANH,EAOGU,KAPH,CAOSC,KAAK,IACVC,UAAU,CAAC,MAAM;AACf,UAAA,MAAMD,KAAN,CAAA;AACD,SAFS,CARd,CAAA,CAAA;AAYD,OAAA;AACF,KArC0C;AAsC3C;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AAEA;AACA;AACAE,IAAAA,KAAK,EAAE,MAAM;AACX1C,MAAAA,QAAQ,CAAC2C,QAAT,CAAkB3C,QAAQ,CAACyB,YAA3B,CAAA,CAAA;AACD,KA7E0C;AA8E3CmB,IAAAA,UAAU,EAAEC,OAAO,IAAI;AACrB,MAAMC,MAAAA,UAAU,GAAGC,sBAAgB,CAACF,OAAD,EAAU7C,QAAQ,CAACL,OAAnB,CAAnC,CAAA;AACAK,MAAAA,QAAQ,CAACL,OAAT,GAAmB4B,YAAY,CAACuB,UAAD,CAA/B,CAAA;AACD,KAjF0C;AAkF3CE,IAAAA,MAAM,EAAE,CAACC,QAAD,EAAWC,KAAX,KAAqB;AAC3B,MAAI,IAAA,OAAOlD,QAAQ,CAACL,OAAT,CAAiBqD,MAAxB,KAAmC,UAAvC,EAAmD;AACjD,QAAOhD,OAAAA,QAAQ,CAACL,OAAT,CAAiBqD,MAAjB,CAAwBC,QAAxB,EAAkCC,KAAlC,CAAP,CAAA;AACD,OAAA;;AAED,MAAA,IAAI,OAAOD,QAAP,KAAoB,UAAxB,EAAoC;AAClC,QAAQA,OAAAA,QAAD,CAAuBC,KAAvB,CAAP,CAAA;AACD,OAAA;;AAED,MAAA,OAAOD,QAAP,CAAA;AACD,KA5F0C;AA8F3CE,IAAAA,QAAQ,EAAE,MAAM;AACd,MAAA,OAAOnD,QAAQ,CAACL,OAAT,CAAiByD,KAAxB,CAAA;AACD,KAhG0C;AAkG3CT,IAAAA,QAAQ,EAAGE,OAAD,IAAkC;AAC1C7C,MAAAA,QAAQ,CAACL,OAAT,CAAiB0D,aAAjB,IAAA,IAAA,GAAA,KAAA,CAAA,GAAArD,QAAQ,CAACL,OAAT,CAAiB0D,aAAjB,CAAiCR,OAAjC,CAAA,CAAA;AACD,KApG0C;AAuG3C;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AAEA;AACA;AACA;AAEA;AACA;AACA;AACA;;AA7H2C,GAA7C,CAAA;AAgIA7C,EAAAA,QAAQ,GAAGoB,MAAM,CAACC,MAAP,CAAcrB,QAAd,EAAwB8B,WAAxB,CAAX,CAAA;;AAEA9B,EAAAA,QAAQ,CAACC,SAAT,CAAmByB,OAAnB,CAA2BP,OAAO,IAAI;AACpC,IAAA,OAAOC,MAAM,CAACC,MAAP,CAAcrB,QAAd,EAAwBmB,OAAO,CAACmC,cAAhC,IAAA,IAAA,GAAA,KAAA,CAAA,GAAwBnC,OAAO,CAACmC,cAAR,CAAyBtD,QAAzB,CAAxB,CAAP,CAAA;AACD,GAFD,CAAA,CAAA;;AAIA,EAAA,OAAOA,QAAP,CAAA;AACD;;;;"}
{"version":3,"file":"core.js","sources":["../../src/core.ts"],"sourcesContent":["import { functionalUpdate, RequiredKeys } from './utils'\n\nimport {\n Updater,\n TableOptions,\n TableState,\n TableInstance,\n Renderable,\n TableFeature,\n TableGenerics,\n InitialTableState,\n} from './types'\n\nimport { Columns } from './features/Columns'\nimport { Rows } from './features/Rows'\nimport { Cells } from './features/Cells'\nimport { ColumnSizing } from './features/ColumnSizing'\nimport { Expanding } from './features/Expanding'\nimport { Filters } from './features/Filters'\nimport { Grouping } from './features/Grouping'\nimport { Ordering } from './features/Ordering'\nimport { Pagination } from './features/Pagination'\nimport { Pinning } from './features/Pinning'\nimport { RowSelection } from './features/RowSelection'\nimport { Sorting } from './features/Sorting'\nimport { Visibility } from './features/Visibility'\nimport { Headers } from './features/Headers'\n//\n\nexport type CoreTableState = {\n // coreProgress: number\n}\n\nexport type CoreOptions<TGenerics extends TableGenerics> = {\n data: TGenerics['Row'][]\n state: Partial<TableState>\n onStateChange: (updater: Updater<TableState>) => void\n render: TGenerics['Renderer']\n debugAll?: boolean\n debugTable?: boolean\n debugHeaders?: boolean\n debugColumns?: boolean\n debugRows?: boolean\n initialState?: InitialTableState\n autoResetAll?: boolean\n mergeOptions?: <T>(defaultOptions: T, options: Partial<T>) => T\n meta?: TGenerics['TableMeta']\n // keepPreviousData?: boolean\n}\n\nexport type CoreInstance<TGenerics extends TableGenerics> = {\n // generics: TGenerics\n initialState: TableState\n reset: () => void\n options: RequiredKeys<TableOptions<TGenerics>, 'state'>\n setOptions: (newOptions: Updater<TableOptions<TGenerics>>) => void\n getState: () => TableState\n setState: (updater: Updater<TableState>) => void\n _queue: (cb: () => void) => void\n _render: <TProps>(\n template: Renderable<TGenerics, TProps>,\n props: TProps\n ) => string | null | TGenerics['Rendered']\n _features: readonly TableFeature[]\n // getOverallProgress: () => number\n // getProgressStage: () =>\n // | undefined\n // | 'coreRowModel'\n // | 'filteredRowModel'\n // | 'facetedRowModel'\n // createBatch: (priority: keyof CoreBatches) => Batch\n // init: () => void\n // willUpdate: () => void\n // destroy: () => void\n // batches: CoreBatches\n}\n\n// export type Batch = {\n// id: number\n// priority: keyof CoreBatches\n// tasks: (() => void)[]\n// schedule: (cb: () => void) => void\n// cancel: () => void\n// }\n\n// type CoreBatches = {\n// data: Batch[]\n// facets: Batch[]\n// }\n\n// export type TaskPriority = keyof CoreBatches\n\nexport function createTableInstance<TGenerics extends TableGenerics>(\n options: TableOptions<TGenerics>\n): TableInstance<TGenerics> {\n if (options.debugAll || options.debugTable) {\n console.info('Creating Table Instance...')\n }\n\n let instance = {\n _features: [\n Columns,\n Rows,\n Cells,\n Headers,\n Visibility,\n Ordering,\n Pinning,\n Filters,\n Sorting,\n Grouping,\n Expanding,\n Pagination,\n RowSelection,\n ColumnSizing,\n ] as const,\n } as unknown as CoreInstance<TGenerics>\n\n const defaultOptions = instance._features.reduce((obj, feature) => {\n return Object.assign(obj, feature.getDefaultOptions?.(instance))\n }, {}) as TableOptions<TGenerics>\n\n const mergeOptions = (options: TableOptions<TGenerics>) => {\n if (instance.options.mergeOptions) {\n return instance.options.mergeOptions(defaultOptions, options)\n }\n\n return {\n ...defaultOptions,\n ...options,\n }\n }\n\n const coreInitialState: CoreTableState = {\n // coreProgress: 1,\n }\n\n let initialState = {\n ...coreInitialState,\n ...(options.initialState ?? {}),\n } as TableState\n\n instance._features.forEach(feature => {\n initialState = feature.getInitialState?.(initialState) ?? initialState\n })\n\n const queued: (() => void)[] = []\n let queuedTimeout = false\n\n // let workScheduled = false\n // let working = false\n // let latestCallback: ReturnType<typeof requestIdleCallback>\n // let batchUid = 0\n // const onProgress = () => {}\n // const getBatch = () => {\n // instance.batches.data = instance.batches.data.filter(d => d.tasks.length)\n // instance.batches.facets = instance.batches.facets.filter(\n // d => d.tasks.length\n // )\n\n // return (\n // instance.batches.data.find(d => d.tasks.length) ??\n // instance.batches.facets.find(d => d.tasks.length)\n // )\n // }\n\n // const startWorkLoop = () => {\n // working = true\n\n // const workLoop = (deadline: IdleDeadline) => {\n // const batch = getBatch()\n\n // if (!batch) {\n // working = false\n // return\n // }\n // // Prioritize tasks\n // while (deadline.timeRemaining() > 0 && batch.tasks.length) {\n // batch.tasks.shift()!()\n // }\n\n // onProgress()\n\n // if (working) {\n // latestCallback = requestIdleCallback(workLoop, { timeout: 10000 })\n // }\n // }\n\n // latestCallback = requestIdleCallback(workLoop, { timeout: 10000 })\n // }\n\n // const startWork = () => {\n // if (getBatch() && !working) {\n // if (\n // (process.env.NODE_ENV === 'development' && instance.options.debugAll) ??\n // instance.options.debugTable\n // ) {\n // console.info('Starting work...')\n // }\n // startWorkLoop()\n // }\n // }\n\n // const stopWork = () => {\n // if (working) {\n // if (\n // (process.env.NODE_ENV === 'development' && instance.options.debugAll) ??\n // instance.options.debugTable\n // ) {\n // console.info('Stopping work...')\n // }\n\n // working = false\n // cancelIdleCallback(latestCallback)\n // }\n // }\n\n const midInstance: CoreInstance<TGenerics> = {\n ...instance,\n // init: () => {\n // startWork()\n // },\n // willUpdate: () => {\n // startWork()\n // },\n // destroy: () => {\n // stopWork()\n // },\n options: {\n ...defaultOptions,\n ...options,\n },\n initialState,\n _queue: cb => {\n queued.push(cb)\n\n if (!queuedTimeout) {\n queuedTimeout = true\n\n // Schedule a microtask to run the queued callbacks after\n // the current call stack (render, etc) has finished.\n Promise.resolve()\n .then(() => {\n while (queued.length) {\n queued.shift()!()\n }\n queuedTimeout = false\n })\n .catch(error =>\n setTimeout(() => {\n throw error\n })\n )\n }\n },\n // batches: {\n // data: [],\n // facets: [],\n // },\n // createBatch: priority => {\n // const batchId = batchUid++\n // let canceled: boolean\n\n // const batch: Batch = {\n // id: batchId,\n // priority,\n // tasks: [],\n // schedule: cb => {\n // if (canceled) return\n // batch.tasks.push(cb)\n\n // if (!working && !workScheduled) {\n // workScheduled = true\n // instance.queue(() => {\n // workScheduled = false\n // instance.setState(old => ({ ...old }))\n // })\n // }\n // },\n // cancel: () => {\n // canceled = true\n // batch.tasks = []\n // instance.batches[priority] = instance.batches[priority].filter(\n // b => b.id !== batchId\n // )\n // },\n // }\n\n // instance.batches[priority].push(batch)\n\n // return batch\n // },\n reset: () => {\n instance.setState(instance.initialState)\n },\n setOptions: updater => {\n const newOptions = functionalUpdate(updater, instance.options)\n instance.options = mergeOptions(newOptions)\n },\n _render: (template, props) => {\n if (typeof instance.options.render === 'function') {\n return instance.options.render(template, props)\n }\n\n if (typeof template === 'function') {\n return (template as Function)(props)\n }\n\n return template\n },\n\n getState: () => {\n return instance.options.state as TableState\n },\n\n setState: (updater: Updater<TableState>) => {\n instance.options.onStateChange?.(updater)\n },\n\n // getOverallProgress: () => {\n // const { coreProgress, filtersProgress, facetProgress } =\n // instance.getState()\n\n // return mean(() =>\n // [coreProgress, filtersProgress].filter(d => d < 1)\n // ) as number\n // },\n // getProgressStage: () => {\n // const { coreProgress, filtersProgress, facetProgress } =\n // instance.getState()\n\n // if (coreProgress < 1) {\n // return 'coreRowModel'\n // }\n\n // if (filtersProgress < 1) {\n // return 'filteredRowModel'\n // }\n\n // if (Object.values(facetProgress).some(d => d < 1)) {\n // return 'facetedRowModel'\n // }\n // },\n }\n\n instance = Object.assign(instance, midInstance)\n\n instance._features.forEach(feature => {\n return Object.assign(instance, feature.createInstance?.(instance))\n })\n\n return instance as TableInstance<TGenerics>\n}\n"],"names":["createTableInstance","options","debugAll","debugTable","console","info","instance","_features","Columns","Rows","Cells","Headers","Visibility","Ordering","Pinning","Filters","Sorting","Grouping","Expanding","Pagination","RowSelection","ColumnSizing","defaultOptions","reduce","obj","feature","Object","assign","getDefaultOptions","mergeOptions","coreInitialState","initialState","forEach","getInitialState","queued","queuedTimeout","midInstance","_queue","cb","push","Promise","resolve","then","length","shift","catch","error","setTimeout","reset","setState","setOptions","updater","newOptions","functionalUpdate","_render","template","props","render","getState","state","onStateChange","createInstance"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA6EA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AAEO,SAASA,mBAAT,CACLC,OADK,EAEqB;AAAA,EAAA,IAAA,qBAAA,CAAA;;AAC1B,EAAA,IAAIA,OAAO,CAACC,QAAR,IAAoBD,OAAO,CAACE,UAAhC,EAA4C;AAC1CC,IAAAA,OAAO,CAACC,IAAR,CAAa,4BAAb,CAAA,CAAA;AACD,GAAA;;AAED,EAAA,IAAIC,QAAQ,GAAG;AACbC,IAAAA,SAAS,EAAE,CACTC,eADS,EAETC,SAFS,EAGTC,WAHS,EAITC,eAJS,EAKTC,qBALS,EAMTC,iBANS,EAOTC,eAPS,EAQTC,eARS,EASTC,eATS,EAUTC,iBAVS,EAWTC,mBAXS,EAYTC,qBAZS,EAaTC,yBAbS,EAcTC,yBAdS,CAAA;AADE,GAAf,CAAA;;AAmBA,EAAA,MAAMC,cAAc,GAAGhB,QAAQ,CAACC,SAAT,CAAmBgB,MAAnB,CAA0B,CAACC,GAAD,EAAMC,OAAN,KAAkB;AACjE,IAAA,OAAOC,MAAM,CAACC,MAAP,CAAcH,GAAd,EAAmBC,OAAO,CAACG,iBAA3B,IAAA,IAAA,GAAA,KAAA,CAAA,GAAmBH,OAAO,CAACG,iBAAR,CAA4BtB,QAA5B,CAAnB,CAAP,CAAA;AACD,GAFsB,EAEpB,EAFoB,CAAvB,CAAA;;AAIA,EAAMuB,MAAAA,YAAY,GAAI5B,OAAD,IAAsC;AACzD,IAAA,IAAIK,QAAQ,CAACL,OAAT,CAAiB4B,YAArB,EAAmC;AACjC,MAAOvB,OAAAA,QAAQ,CAACL,OAAT,CAAiB4B,YAAjB,CAA8BP,cAA9B,EAA8CrB,OAA9C,CAAP,CAAA;AACD,KAAA;;AAED,IAAO,OAAA,EACL,GAAGqB,cADE;AAEL,MAAGrB,GAAAA,OAAAA;AAFE,KAAP,CAAA;AAID,GATD,CAAA;;AAWA,EAAM6B,MAAAA,gBAAgC,GAAG;AAAA,GAAzC,CAAA;AAIA,EAAA,IAAIC,YAAY,GAAG,EACjB,GAAGD,gBADc;AAEjB,IAAA,IAAA,CAAA,qBAAA,GAAI7B,OAAO,CAAC8B,YAAZ,KAAA,IAAA,GAAA,qBAAA,GAA4B,EAA5B,CAAA;AAFiB,GAAnB,CAAA;;AAKAzB,EAAAA,QAAQ,CAACC,SAAT,CAAmByB,OAAnB,CAA2BP,OAAO,IAAI;AAAA,IAAA,IAAA,qBAAA,CAAA;;AACpCM,IAAAA,YAAY,GAAA,CAAA,qBAAA,GAAGN,OAAO,CAACQ,eAAX,IAAA,IAAA,GAAA,KAAA,CAAA,GAAGR,OAAO,CAACQ,eAAR,CAA0BF,YAA1B,CAAH,oCAA8CA,YAA1D,CAAA;AACD,GAFD,CAAA,CAAA;;AAIA,EAAMG,MAAAA,MAAsB,GAAG,EAA/B,CAAA;AACA,EAAA,IAAIC,aAAa,GAAG,KAApB,CArD0B;AAwD1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AAEA;AACA;AAEA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AAEA;AACA;AACA;AACA;AAEA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;;AAEA,EAAA,MAAMC,WAAoC,GAAG,EAC3C,GAAG9B,QADwC;AAE3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACAL,IAAAA,OAAO,EAAE,EACP,GAAGqB,cADI;AAEP,MAAGrB,GAAAA,OAAAA;AAFI,KAXkC;AAe3C8B,IAAAA,YAf2C;AAgB3CM,IAAAA,MAAM,EAAEC,EAAE,IAAI;AACZJ,MAAAA,MAAM,CAACK,IAAP,CAAYD,EAAZ,CAAA,CAAA;;AAEA,MAAI,IAAA,CAACH,aAAL,EAAoB;AAClBA,QAAAA,aAAa,GAAG,IAAhB,CADkB;AAIlB;;AACAK,QAAAA,OAAO,CAACC,OAAR,EACGC,CAAAA,IADH,CACQ,MAAM;AACV,UAAOR,OAAAA,MAAM,CAACS,MAAd,EAAsB;AACpBT,YAAAA,MAAM,CAACU,KAAP,EAAA,EAAA,CAAA;AACD,WAAA;;AACDT,UAAAA,aAAa,GAAG,KAAhB,CAAA;AACD,SANH,EAOGU,KAPH,CAOSC,KAAK,IACVC,UAAU,CAAC,MAAM;AACf,UAAA,MAAMD,KAAN,CAAA;AACD,SAFS,CARd,CAAA,CAAA;AAYD,OAAA;AACF,KArC0C;AAsC3C;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AAEA;AACA;AACAE,IAAAA,KAAK,EAAE,MAAM;AACX1C,MAAAA,QAAQ,CAAC2C,QAAT,CAAkB3C,QAAQ,CAACyB,YAA3B,CAAA,CAAA;AACD,KA7E0C;AA8E3CmB,IAAAA,UAAU,EAAEC,OAAO,IAAI;AACrB,MAAMC,MAAAA,UAAU,GAAGC,sBAAgB,CAACF,OAAD,EAAU7C,QAAQ,CAACL,OAAnB,CAAnC,CAAA;AACAK,MAAAA,QAAQ,CAACL,OAAT,GAAmB4B,YAAY,CAACuB,UAAD,CAA/B,CAAA;AACD,KAjF0C;AAkF3CE,IAAAA,OAAO,EAAE,CAACC,QAAD,EAAWC,KAAX,KAAqB;AAC5B,MAAI,IAAA,OAAOlD,QAAQ,CAACL,OAAT,CAAiBwD,MAAxB,KAAmC,UAAvC,EAAmD;AACjD,QAAOnD,OAAAA,QAAQ,CAACL,OAAT,CAAiBwD,MAAjB,CAAwBF,QAAxB,EAAkCC,KAAlC,CAAP,CAAA;AACD,OAAA;;AAED,MAAA,IAAI,OAAOD,QAAP,KAAoB,UAAxB,EAAoC;AAClC,QAAQA,OAAAA,QAAD,CAAuBC,KAAvB,CAAP,CAAA;AACD,OAAA;;AAED,MAAA,OAAOD,QAAP,CAAA;AACD,KA5F0C;AA8F3CG,IAAAA,QAAQ,EAAE,MAAM;AACd,MAAA,OAAOpD,QAAQ,CAACL,OAAT,CAAiB0D,KAAxB,CAAA;AACD,KAhG0C;AAkG3CV,IAAAA,QAAQ,EAAGE,OAAD,IAAkC;AAC1C7C,MAAAA,QAAQ,CAACL,OAAT,CAAiB2D,aAAjB,IAAA,IAAA,GAAA,KAAA,CAAA,GAAAtD,QAAQ,CAACL,OAAT,CAAiB2D,aAAjB,CAAiCT,OAAjC,CAAA,CAAA;AACD,KApG0C;AAuG3C;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AAEA;AACA;AACA;AAEA;AACA;AACA;AACA;;AA7H2C,GAA7C,CAAA;AAgIA7C,EAAAA,QAAQ,GAAGoB,MAAM,CAACC,MAAP,CAAcrB,QAAd,EAAwB8B,WAAxB,CAAX,CAAA;;AAEA9B,EAAAA,QAAQ,CAACC,SAAT,CAAmByB,OAAnB,CAA2BP,OAAO,IAAI;AACpC,IAAA,OAAOC,MAAM,CAACC,MAAP,CAAcrB,QAAd,EAAwBmB,OAAO,CAACoC,cAAhC,IAAA,IAAA,GAAA,KAAA,CAAA,GAAwBpC,OAAO,CAACoC,cAAR,CAAyBvD,QAAzB,CAAxB,CAAP,CAAA;AACD,GAFD,CAAA,CAAA;;AAIA,EAAA,OAAOA,QAAP,CAAA;AACD;;;;"}

@@ -58,3 +58,3 @@ /**

getValue: () => row.getValue(columnId),
renderCell: () => column.cell ? instance.render(column.cell, {
renderCell: () => column.cell ? instance._render(column.cell, {
instance,

@@ -61,0 +61,0 @@ column,

@@ -1,1 +0,1 @@

{"version":3,"file":"Cells.js","sources":["../../../src/features/Cells.ts"],"sourcesContent":["import {\n Cell,\n TableGenerics,\n TableInstance,\n Row,\n Column,\n CoreCell,\n} from '../types'\nimport { memo } from '../utils'\n\nexport type CellsRow<TGenerics extends TableGenerics> = {\n getAllCells: () => Cell<TGenerics>[]\n getAllCellsByColumnId: () => Record<string, Cell<TGenerics>>\n}\n\nexport type CellsInstance<TGenerics extends TableGenerics> = {\n createCell: (\n row: Row<TGenerics>,\n column: Column<TGenerics>,\n columnId: string\n ) => Cell<TGenerics>\n getCell: (rowId: string, columnId: string) => Cell<TGenerics>\n}\n\n//\n\nexport const Cells = {\n createRow: <TGenerics extends TableGenerics>(\n row: Row<TGenerics>,\n instance: TableInstance<TGenerics>\n ): CellsRow<TGenerics> => {\n return {\n getAllCells: memo(\n () => [instance.getAllLeafColumns()],\n leafColumns => {\n return leafColumns.map(column => {\n return instance.createCell(row as Row<TGenerics>, column, column.id)\n })\n },\n {\n key: process.env.NODE_ENV === 'development' && 'row.getAllCells',\n debug: () => instance.options.debugAll ?? instance.options.debugRows,\n }\n ),\n\n getAllCellsByColumnId: memo(\n () => [row.getAllCells()],\n allCells => {\n return allCells.reduce((acc, cell) => {\n acc[cell.columnId] = cell\n return acc\n }, {} as Record<string, Cell<TGenerics>>)\n },\n {\n key:\n process.env.NODE_ENV === 'production' &&\n 'row.getAllCellsByColumnId',\n debug: () => instance.options.debugAll ?? instance.options.debugRows,\n }\n ),\n }\n },\n\n createInstance: <TGenerics extends TableGenerics>(\n instance: TableInstance<TGenerics>\n ): CellsInstance<TGenerics> => {\n return {\n createCell: (row, column, columnId) => {\n const cell: CoreCell<TGenerics> = {\n id: `${row.id}_${column.id}`,\n rowId: row.id,\n columnId,\n row,\n column,\n getValue: () => row.getValue(columnId),\n renderCell: () =>\n column.cell\n ? instance.render(column.cell, {\n instance,\n column,\n row,\n cell: cell as Cell<TGenerics>,\n getValue: cell.getValue,\n })\n : null,\n }\n\n instance._features.forEach(feature => {\n Object.assign(\n cell,\n feature.createCell?.(\n cell as Cell<TGenerics>,\n column,\n row as Row<TGenerics>,\n instance\n )\n )\n }, {})\n\n return cell as Cell<TGenerics>\n },\n\n getCell: (rowId: string, columnId: string) => {\n const row = instance.getRow(rowId)\n\n if (!row) {\n if (process.env.NODE_ENV !== 'production') {\n throw new Error(`[Table] could not find row with id ${rowId}`)\n }\n throw new Error()\n }\n\n const cell = row.getAllCellsByColumnId()[columnId]\n\n if (!cell) {\n if (process.env.NODE_ENV !== 'production') {\n throw new Error(\n `[Table] could not find cell ${columnId} in row ${rowId}`\n )\n }\n throw new Error()\n }\n\n return cell\n },\n }\n },\n}\n"],"names":["Cells","createRow","row","instance","getAllCells","memo","getAllLeafColumns","leafColumns","map","column","createCell","id","key","process","env","NODE_ENV","debug","options","debugAll","debugRows","getAllCellsByColumnId","allCells","reduce","acc","cell","columnId","createInstance","rowId","getValue","renderCell","render","_features","forEach","feature","Object","assign","getCell","getRow","Error"],"mappings":"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"}
{"version":3,"file":"Cells.js","sources":["../../../src/features/Cells.ts"],"sourcesContent":["import {\n Cell,\n TableGenerics,\n TableInstance,\n Row,\n Column,\n CoreCell,\n} from '../types'\nimport { memo } from '../utils'\n\nexport type CellsRow<TGenerics extends TableGenerics> = {\n getAllCells: () => Cell<TGenerics>[]\n getAllCellsByColumnId: () => Record<string, Cell<TGenerics>>\n}\n\nexport type CellsInstance<TGenerics extends TableGenerics> = {\n createCell: (\n row: Row<TGenerics>,\n column: Column<TGenerics>,\n columnId: string\n ) => Cell<TGenerics>\n getCell: (rowId: string, columnId: string) => Cell<TGenerics>\n}\n\n//\n\nexport const Cells = {\n createRow: <TGenerics extends TableGenerics>(\n row: Row<TGenerics>,\n instance: TableInstance<TGenerics>\n ): CellsRow<TGenerics> => {\n return {\n getAllCells: memo(\n () => [instance.getAllLeafColumns()],\n leafColumns => {\n return leafColumns.map(column => {\n return instance.createCell(row as Row<TGenerics>, column, column.id)\n })\n },\n {\n key: process.env.NODE_ENV === 'development' && 'row.getAllCells',\n debug: () => instance.options.debugAll ?? instance.options.debugRows,\n }\n ),\n\n getAllCellsByColumnId: memo(\n () => [row.getAllCells()],\n allCells => {\n return allCells.reduce((acc, cell) => {\n acc[cell.columnId] = cell\n return acc\n }, {} as Record<string, Cell<TGenerics>>)\n },\n {\n key:\n process.env.NODE_ENV === 'production' &&\n 'row.getAllCellsByColumnId',\n debug: () => instance.options.debugAll ?? instance.options.debugRows,\n }\n ),\n }\n },\n\n createInstance: <TGenerics extends TableGenerics>(\n instance: TableInstance<TGenerics>\n ): CellsInstance<TGenerics> => {\n return {\n createCell: (row, column, columnId) => {\n const cell: CoreCell<TGenerics> = {\n id: `${row.id}_${column.id}`,\n rowId: row.id,\n columnId,\n row,\n column,\n getValue: () => row.getValue(columnId),\n renderCell: () =>\n column.cell\n ? instance._render(column.cell, {\n instance,\n column,\n row,\n cell: cell as Cell<TGenerics>,\n getValue: cell.getValue,\n })\n : null,\n }\n\n instance._features.forEach(feature => {\n Object.assign(\n cell,\n feature.createCell?.(\n cell as Cell<TGenerics>,\n column,\n row as Row<TGenerics>,\n instance\n )\n )\n }, {})\n\n return cell as Cell<TGenerics>\n },\n\n getCell: (rowId: string, columnId: string) => {\n const row = instance.getRow(rowId)\n\n if (!row) {\n if (process.env.NODE_ENV !== 'production') {\n throw new Error(`[Table] could not find row with id ${rowId}`)\n }\n throw new Error()\n }\n\n const cell = row.getAllCellsByColumnId()[columnId]\n\n if (!cell) {\n if (process.env.NODE_ENV !== 'production') {\n throw new Error(\n `[Table] could not find cell ${columnId} in row ${rowId}`\n )\n }\n throw new Error()\n }\n\n return cell\n },\n }\n },\n}\n"],"names":["Cells","createRow","row","instance","getAllCells","memo","getAllLeafColumns","leafColumns","map","column","createCell","id","key","process","env","NODE_ENV","debug","options","debugAll","debugRows","getAllCellsByColumnId","allCells","reduce","acc","cell","columnId","createInstance","rowId","getValue","renderCell","_render","_features","forEach","feature","Object","assign","getCell","getRow","Error"],"mappings":"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"}

@@ -39,5 +39,6 @@ /**

if (!registered) {
instance.queue(() => {
instance._queue(() => {
registered = true;
});
return;

@@ -53,3 +54,4 @@ }

queued = true;
instance.queue(() => {
instance._queue(() => {
instance.resetExpanded();

@@ -56,0 +58,0 @@ queued = false;

@@ -1,1 +0,1 @@

{"version":3,"file":"Expanding.js","sources":["../../../src/features/Expanding.ts"],"sourcesContent":["import { RowModel } from '..'\nimport {\n OnChangeFn,\n TableGenerics,\n TableInstance,\n Row,\n Updater,\n TableFeature,\n} from '../types'\nimport { makeStateUpdater } from '../utils'\nimport { Rows } from './Rows'\n\nexport type ExpandedStateList = Record<string, boolean>\nexport type ExpandedState = true | Record<string, boolean>\nexport type ExpandedTableState = {\n expanded: ExpandedState\n}\n\nexport type ExpandedRow = {\n toggleExpanded: (expanded?: boolean) => void\n getIsExpanded: () => boolean\n getCanExpand: () => boolean\n getToggleExpandedHandler: () => () => void\n}\n\nexport type ExpandedOptions<TGenerics extends TableGenerics> = {\n manualExpanding?: boolean\n onExpandedChange?: OnChangeFn<ExpandedState>\n autoResetExpanded?: boolean\n enableExpanding?: boolean\n getExpandedRowModel?: (\n instance: TableInstance<TGenerics>\n ) => () => RowModel<TGenerics>\n expandSubRows?: boolean\n getIsRowExpanded?: (row: Row<TGenerics>) => boolean\n getRowCanExpand?: (row: Row<TGenerics>) => boolean\n paginateExpandedRows?: boolean\n}\n\nexport type ExpandedInstance<TGenerics extends TableGenerics> = {\n _autoResetExpanded: () => void\n setExpanded: (updater: Updater<ExpandedState>) => void\n toggleAllRowsExpanded: (expanded?: boolean) => void\n resetExpanded: (defaultState?: boolean) => void\n getCanSomeRowsExpand: () => boolean\n getToggleAllRowsExpandedHandler: () => (event: unknown) => void\n getIsSomeRowsExpanded: () => boolean\n getIsAllRowsExpanded: () => boolean\n getExpandedDepth: () => number\n getExpandedRowModel: () => RowModel<TGenerics>\n _getExpandedRowModel?: () => RowModel<TGenerics>\n getPreExpandedRowModel: () => RowModel<TGenerics>\n}\n\n//\n\nexport const Expanding: TableFeature = {\n getInitialState: (state): ExpandedTableState => {\n return {\n expanded: {},\n ...state,\n }\n },\n\n getDefaultOptions: <TGenerics extends TableGenerics>(\n instance: TableInstance<TGenerics>\n ): ExpandedOptions<TGenerics> => {\n return {\n onExpandedChange: makeStateUpdater('expanded', instance),\n autoResetExpanded: true,\n expandSubRows: true,\n paginateExpandedRows: true,\n }\n },\n\n createInstance: <TGenerics extends TableGenerics>(\n instance: TableInstance<TGenerics>\n ): ExpandedInstance<TGenerics> => {\n let registered = false\n let queued = false\n\n return {\n _autoResetExpanded: () => {\n if (!registered) {\n instance.queue(() => {\n registered = true\n })\n return\n }\n\n if (instance.options.autoResetAll === false) {\n return\n }\n\n if (\n instance.options.autoResetAll === true ||\n instance.options.autoResetExpanded\n ) {\n if (queued) return\n queued = true\n instance.queue(() => {\n instance.resetExpanded()\n queued = false\n })\n }\n },\n setExpanded: updater => instance.options.onExpandedChange?.(updater),\n toggleAllRowsExpanded: expanded => {\n if (expanded ?? !instance.getIsAllRowsExpanded()) {\n instance.setExpanded(true)\n } else {\n instance.setExpanded({})\n }\n },\n resetExpanded: defaultState => {\n instance.setExpanded(\n defaultState ? {} : instance.initialState?.expanded ?? {}\n )\n },\n getCanSomeRowsExpand: () => {\n return instance.getRowModel().flatRows.some(row => row.getCanExpand())\n },\n getToggleAllRowsExpandedHandler: () => {\n return (e: unknown) => {\n ;(e as any).persist?.()\n instance.toggleAllRowsExpanded()\n }\n },\n getIsSomeRowsExpanded: () => {\n const expanded = instance.getState().expanded\n return expanded === true || Object.values(expanded).some(Boolean)\n },\n getIsAllRowsExpanded: () => {\n const expanded = instance.getState().expanded\n\n // If expanded is true, save some cycles and return true\n if (expanded === true) {\n return true\n }\n\n // If any row is not expanded, return false\n if (instance.getRowModel().flatRows.some(row => row.getIsExpanded())) {\n return false\n }\n\n // They must all be expanded :shrug:\n return true\n },\n getExpandedDepth: () => {\n let maxDepth = 0\n\n const rowIds =\n instance.getState().expanded === true\n ? Object.keys(instance.getRowModel().rowsById)\n : Object.keys(instance.getState().expanded)\n\n rowIds.forEach(id => {\n const splitId = id.split('.')\n maxDepth = Math.max(maxDepth, splitId.length)\n })\n\n return maxDepth\n },\n getPreExpandedRowModel: () => instance.getGroupedRowModel(),\n getExpandedRowModel: () => {\n if (\n !instance._getExpandedRowModel &&\n instance.options.getExpandedRowModel\n ) {\n instance._getExpandedRowModel =\n instance.options.getExpandedRowModel(instance)\n }\n\n if (\n instance.options.manualExpanding ||\n !instance._getExpandedRowModel\n ) {\n return instance.getPreExpandedRowModel()\n }\n\n return instance._getExpandedRowModel()\n },\n }\n },\n\n createRow: <TGenerics extends TableGenerics>(\n row: Row<TGenerics>,\n instance: TableInstance<TGenerics>\n ): ExpandedRow => {\n return {\n toggleExpanded: expanded => {\n instance.setExpanded(old => {\n const exists = old === true ? true : !!old?.[row.id]\n\n let oldExpanded: ExpandedStateList = {}\n\n if (old === true) {\n Object.keys(instance.getRowModel().rowsById).forEach(rowId => {\n oldExpanded[rowId] = true\n })\n } else {\n oldExpanded = old\n }\n\n expanded = expanded ?? !exists\n\n if (!exists && expanded) {\n return {\n ...oldExpanded,\n [row.id]: true,\n }\n }\n\n if (exists && !expanded) {\n const { [row.id]: _, ...rest } = oldExpanded\n return rest\n }\n\n return old\n })\n },\n getIsExpanded: () => {\n const expanded = instance.getState().expanded\n\n return !!(\n instance.options.getIsRowExpanded?.(row) ??\n (expanded === true || expanded?.[row.id])\n )\n },\n getCanExpand: () => {\n return (\n (instance.options.getRowCanExpand?.(row) ?? true) &&\n (instance.options.enableExpanding ?? true) &&\n !!row.subRows?.length\n )\n },\n getToggleExpandedHandler: () => {\n const canExpand = row.getCanExpand()\n\n return () => {\n if (!canExpand) return\n row.toggleExpanded()\n }\n },\n }\n },\n}\n"],"names":["Expanding","getInitialState","state","expanded","getDefaultOptions","instance","onExpandedChange","makeStateUpdater","autoResetExpanded","expandSubRows","paginateExpandedRows","createInstance","registered","queued","_autoResetExpanded","queue","options","autoResetAll","resetExpanded","setExpanded","updater","toggleAllRowsExpanded","getIsAllRowsExpanded","defaultState","initialState","getCanSomeRowsExpand","getRowModel","flatRows","some","row","getCanExpand","getToggleAllRowsExpandedHandler","e","persist","getIsSomeRowsExpanded","getState","Object","values","Boolean","getIsExpanded","getExpandedDepth","maxDepth","rowIds","keys","rowsById","forEach","id","splitId","split","Math","max","length","getPreExpandedRowModel","getGroupedRowModel","getExpandedRowModel","_getExpandedRowModel","manualExpanding","createRow","toggleExpanded","old","exists","oldExpanded","rowId","_","rest","getIsRowExpanded","getRowCanExpand","enableExpanding","subRows","getToggleExpandedHandler","canExpand"],"mappings":"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"}
{"version":3,"file":"Expanding.js","sources":["../../../src/features/Expanding.ts"],"sourcesContent":["import { RowModel } from '..'\nimport {\n OnChangeFn,\n TableGenerics,\n TableInstance,\n Row,\n Updater,\n TableFeature,\n} from '../types'\nimport { makeStateUpdater } from '../utils'\nimport { Rows } from './Rows'\n\nexport type ExpandedStateList = Record<string, boolean>\nexport type ExpandedState = true | Record<string, boolean>\nexport type ExpandedTableState = {\n expanded: ExpandedState\n}\n\nexport type ExpandedRow = {\n toggleExpanded: (expanded?: boolean) => void\n getIsExpanded: () => boolean\n getCanExpand: () => boolean\n getToggleExpandedHandler: () => () => void\n}\n\nexport type ExpandedOptions<TGenerics extends TableGenerics> = {\n manualExpanding?: boolean\n onExpandedChange?: OnChangeFn<ExpandedState>\n autoResetExpanded?: boolean\n enableExpanding?: boolean\n getExpandedRowModel?: (\n instance: TableInstance<TGenerics>\n ) => () => RowModel<TGenerics>\n expandSubRows?: boolean\n getIsRowExpanded?: (row: Row<TGenerics>) => boolean\n getRowCanExpand?: (row: Row<TGenerics>) => boolean\n paginateExpandedRows?: boolean\n}\n\nexport type ExpandedInstance<TGenerics extends TableGenerics> = {\n _autoResetExpanded: () => void\n setExpanded: (updater: Updater<ExpandedState>) => void\n toggleAllRowsExpanded: (expanded?: boolean) => void\n resetExpanded: (defaultState?: boolean) => void\n getCanSomeRowsExpand: () => boolean\n getToggleAllRowsExpandedHandler: () => (event: unknown) => void\n getIsSomeRowsExpanded: () => boolean\n getIsAllRowsExpanded: () => boolean\n getExpandedDepth: () => number\n getExpandedRowModel: () => RowModel<TGenerics>\n _getExpandedRowModel?: () => RowModel<TGenerics>\n getPreExpandedRowModel: () => RowModel<TGenerics>\n}\n\n//\n\nexport const Expanding: TableFeature = {\n getInitialState: (state): ExpandedTableState => {\n return {\n expanded: {},\n ...state,\n }\n },\n\n getDefaultOptions: <TGenerics extends TableGenerics>(\n instance: TableInstance<TGenerics>\n ): ExpandedOptions<TGenerics> => {\n return {\n onExpandedChange: makeStateUpdater('expanded', instance),\n autoResetExpanded: true,\n expandSubRows: true,\n paginateExpandedRows: true,\n }\n },\n\n createInstance: <TGenerics extends TableGenerics>(\n instance: TableInstance<TGenerics>\n ): ExpandedInstance<TGenerics> => {\n let registered = false\n let queued = false\n\n return {\n _autoResetExpanded: () => {\n if (!registered) {\n instance._queue(() => {\n registered = true\n })\n return\n }\n\n if (instance.options.autoResetAll === false) {\n return\n }\n\n if (\n instance.options.autoResetAll === true ||\n instance.options.autoResetExpanded\n ) {\n if (queued) return\n queued = true\n instance._queue(() => {\n instance.resetExpanded()\n queued = false\n })\n }\n },\n setExpanded: updater => instance.options.onExpandedChange?.(updater),\n toggleAllRowsExpanded: expanded => {\n if (expanded ?? !instance.getIsAllRowsExpanded()) {\n instance.setExpanded(true)\n } else {\n instance.setExpanded({})\n }\n },\n resetExpanded: defaultState => {\n instance.setExpanded(\n defaultState ? {} : instance.initialState?.expanded ?? {}\n )\n },\n getCanSomeRowsExpand: () => {\n return instance.getRowModel().flatRows.some(row => row.getCanExpand())\n },\n getToggleAllRowsExpandedHandler: () => {\n return (e: unknown) => {\n ;(e as any).persist?.()\n instance.toggleAllRowsExpanded()\n }\n },\n getIsSomeRowsExpanded: () => {\n const expanded = instance.getState().expanded\n return expanded === true || Object.values(expanded).some(Boolean)\n },\n getIsAllRowsExpanded: () => {\n const expanded = instance.getState().expanded\n\n // If expanded is true, save some cycles and return true\n if (expanded === true) {\n return true\n }\n\n // If any row is not expanded, return false\n if (instance.getRowModel().flatRows.some(row => row.getIsExpanded())) {\n return false\n }\n\n // They must all be expanded :shrug:\n return true\n },\n getExpandedDepth: () => {\n let maxDepth = 0\n\n const rowIds =\n instance.getState().expanded === true\n ? Object.keys(instance.getRowModel().rowsById)\n : Object.keys(instance.getState().expanded)\n\n rowIds.forEach(id => {\n const splitId = id.split('.')\n maxDepth = Math.max(maxDepth, splitId.length)\n })\n\n return maxDepth\n },\n getPreExpandedRowModel: () => instance.getGroupedRowModel(),\n getExpandedRowModel: () => {\n if (\n !instance._getExpandedRowModel &&\n instance.options.getExpandedRowModel\n ) {\n instance._getExpandedRowModel =\n instance.options.getExpandedRowModel(instance)\n }\n\n if (\n instance.options.manualExpanding ||\n !instance._getExpandedRowModel\n ) {\n return instance.getPreExpandedRowModel()\n }\n\n return instance._getExpandedRowModel()\n },\n }\n },\n\n createRow: <TGenerics extends TableGenerics>(\n row: Row<TGenerics>,\n instance: TableInstance<TGenerics>\n ): ExpandedRow => {\n return {\n toggleExpanded: expanded => {\n instance.setExpanded(old => {\n const exists = old === true ? true : !!old?.[row.id]\n\n let oldExpanded: ExpandedStateList = {}\n\n if (old === true) {\n Object.keys(instance.getRowModel().rowsById).forEach(rowId => {\n oldExpanded[rowId] = true\n })\n } else {\n oldExpanded = old\n }\n\n expanded = expanded ?? !exists\n\n if (!exists && expanded) {\n return {\n ...oldExpanded,\n [row.id]: true,\n }\n }\n\n if (exists && !expanded) {\n const { [row.id]: _, ...rest } = oldExpanded\n return rest\n }\n\n return old\n })\n },\n getIsExpanded: () => {\n const expanded = instance.getState().expanded\n\n return !!(\n instance.options.getIsRowExpanded?.(row) ??\n (expanded === true || expanded?.[row.id])\n )\n },\n getCanExpand: () => {\n return (\n (instance.options.getRowCanExpand?.(row) ?? true) &&\n (instance.options.enableExpanding ?? true) &&\n !!row.subRows?.length\n )\n },\n getToggleExpandedHandler: () => {\n const canExpand = row.getCanExpand()\n\n return () => {\n if (!canExpand) return\n row.toggleExpanded()\n }\n },\n }\n },\n}\n"],"names":["Expanding","getInitialState","state","expanded","getDefaultOptions","instance","onExpandedChange","makeStateUpdater","autoResetExpanded","expandSubRows","paginateExpandedRows","createInstance","registered","queued","_autoResetExpanded","_queue","options","autoResetAll","resetExpanded","setExpanded","updater","toggleAllRowsExpanded","getIsAllRowsExpanded","defaultState","initialState","getCanSomeRowsExpand","getRowModel","flatRows","some","row","getCanExpand","getToggleAllRowsExpandedHandler","e","persist","getIsSomeRowsExpanded","getState","Object","values","Boolean","getIsExpanded","getExpandedDepth","maxDepth","rowIds","keys","rowsById","forEach","id","splitId","split","Math","max","length","getPreExpandedRowModel","getGroupedRowModel","getExpandedRowModel","_getExpandedRowModel","manualExpanding","createRow","toggleExpanded","old","exists","oldExpanded","rowId","_","rest","getIsRowExpanded","getRowCanExpand","enableExpanding","subRows","getToggleExpandedHandler","canExpand"],"mappings":"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"}

@@ -139,3 +139,3 @@ /**

const template = (_column$aggregatedCel = column.aggregatedCell) != null ? _column$aggregatedCel : column.cell;
return template ? instance.render(template, {
return template ? instance._render(template, {
instance,

@@ -142,0 +142,0 @@ column,

@@ -1,1 +0,1 @@

{"version":3,"file":"Grouping.js","sources":["../../../src/features/Grouping.ts"],"sourcesContent":["import { RowModel } from '..'\nimport { BuiltInAggregationFn, aggregationFns } from '../aggregationFns'\nimport {\n Cell,\n Column,\n OnChangeFn,\n TableInstance,\n Row,\n Updater,\n Renderable,\n TableGenerics,\n TableFeature,\n} from '../types'\nimport { isFunction, makeStateUpdater, Overwrite } from '../utils'\n\nexport type GroupingState = string[]\n\nexport type AggregationFn<TGenerics extends TableGenerics> = (\n getLeafValues: () => TGenerics['Row'][],\n getChildValues: () => TGenerics['Row'][]\n) => any\n\nexport type CustomAggregationFns<TGenerics extends TableGenerics> = Record<\n string,\n AggregationFn<TGenerics>\n>\n\nexport type AggregationFnOption<TGenerics extends TableGenerics> =\n | 'auto'\n | BuiltInAggregationFn\n | keyof TGenerics['AggregationFns']\n | AggregationFn<TGenerics>\n\nexport type GroupingTableState = {\n grouping: GroupingState\n}\n\nexport type GroupingColumnDef<TGenerics extends TableGenerics> = {\n aggregationFn?: AggregationFnOption<Overwrite<TGenerics, { Value: any }>>\n aggregateValue?: (columnValue: unknown) => any\n aggregatedCell?: Renderable<\n TGenerics,\n {\n instance: TableInstance<TGenerics>\n row: Row<TGenerics>\n column: Column<TGenerics>\n cell: Cell<TGenerics>\n getValue: () => TGenerics['Value']\n }\n >\n enableGrouping?: boolean\n}\n\nexport type GroupingColumn<TGenerics extends TableGenerics> = {\n aggregationFn?: AggregationFnOption<Overwrite<TGenerics, { Value: any }>>\n getCanGroup: () => boolean\n getIsGrouped: () => boolean\n getGroupedIndex: () => number\n toggleGrouping: () => void\n getToggleGroupingHandler: () => () => void\n getColumnAutoAggregationFn: () => AggregationFn<TGenerics> | undefined\n getColumnAggregationFn: () => AggregationFn<TGenerics> | undefined\n}\n\nexport type GroupingRow = {\n groupingColumnId?: string\n groupingValue?: any\n getIsGrouped: () => boolean\n groupingValuesCache: Record<string, any>\n}\n\nexport type GroupingCell<TGenerics extends TableGenerics> = {\n getIsGrouped: () => boolean\n getIsPlaceholder: () => boolean\n getIsAggregated: () => boolean\n renderAggregatedCell: () => string | null | TGenerics['Rendered']\n}\n\nexport type ColumnDefaultOptions = {\n // Column\n onGroupingChange: OnChangeFn<GroupingState>\n enableGrouping: boolean\n}\n\nexport type GroupingOptions<TGenerics extends TableGenerics> = {\n manualGrouping?: boolean\n aggregationFns?: TGenerics['AggregationFns']\n onGroupingChange?: OnChangeFn<GroupingState>\n enableGrouping?: boolean\n enableGroupingRemoval?: boolean\n getGroupedRowModel?: (\n instance: TableInstance<TGenerics>\n ) => () => RowModel<TGenerics>\n\n groupedColumnMode?: false | 'reorder' | 'remove'\n}\n\nexport type GroupingColumnMode = false | 'reorder' | 'remove'\n\nexport type GroupingInstance<TGenerics extends TableGenerics> = {\n setGrouping: (updater: Updater<GroupingState>) => void\n resetGrouping: (defaultState?: boolean) => void\n getPreGroupedRowModel: () => RowModel<TGenerics>\n getGroupedRowModel: () => RowModel<TGenerics>\n _getGroupedRowModel?: () => RowModel<TGenerics>\n}\n\n//\n\nexport const Grouping: TableFeature = {\n getDefaultColumn: <\n TGenerics extends TableGenerics\n >(): GroupingColumnDef<TGenerics> => {\n return {\n aggregationFn: 'auto',\n }\n },\n\n getInitialState: (state): GroupingTableState => {\n return {\n grouping: [],\n ...state,\n }\n },\n\n getDefaultOptions: <TGenerics extends TableGenerics>(\n instance: TableInstance<TGenerics>\n ): GroupingOptions<TGenerics> => {\n return {\n onGroupingChange: makeStateUpdater('grouping', instance),\n groupedColumnMode: 'reorder',\n }\n },\n\n createColumn: <TGenerics extends TableGenerics>(\n column: Column<TGenerics>,\n instance: TableInstance<TGenerics>\n ): GroupingColumn<TGenerics> => {\n return {\n toggleGrouping: () => {\n instance.setGrouping(old => {\n // Find any existing grouping for this column\n if (old?.includes(column.id)) {\n return old.filter(d => d !== column.id)\n }\n\n return [...(old ?? []), column.id]\n })\n },\n\n getCanGroup: () => {\n return (\n column.enableGrouping ??\n true ??\n instance.options.enableGrouping ??\n true ??\n !!column.accessorFn\n )\n },\n\n getIsGrouped: () => {\n return instance.getState().grouping?.includes(column.id)\n },\n\n getGroupedIndex: () => instance.getState().grouping?.indexOf(column.id),\n\n getToggleGroupingHandler: () => {\n const canGroup = column.getCanGroup()\n\n return () => {\n if (!canGroup) return\n column.toggleGrouping()\n }\n },\n getColumnAutoAggregationFn: () => {\n const firstRow = instance.getCoreRowModel().flatRows[0]\n\n const value = firstRow?.getValue(column.id)\n\n if (typeof value === 'number') {\n return aggregationFns.sum\n }\n\n if (Object.prototype.toString.call(value) === '[object Date]') {\n return aggregationFns.extent\n }\n\n return aggregationFns.count\n },\n getColumnAggregationFn: () => {\n const userAggregationFns = instance.options.aggregationFns\n\n if (!column) {\n throw new Error()\n }\n\n return isFunction(column.aggregationFn)\n ? column.aggregationFn\n : column.aggregationFn === 'auto'\n ? column.getColumnAutoAggregationFn()\n : (userAggregationFns as Record<string, any>)?.[\n column.aggregationFn as string\n ] ??\n (aggregationFns[\n column.aggregationFn as BuiltInAggregationFn\n ] as AggregationFn<TGenerics>)\n },\n }\n },\n\n createInstance: <TGenerics extends TableGenerics>(\n instance: TableInstance<TGenerics>\n ): GroupingInstance<TGenerics> => {\n return {\n setGrouping: updater => instance.options.onGroupingChange?.(updater),\n\n resetGrouping: defaultState => {\n instance.setGrouping(\n defaultState ? [] : instance.initialState?.grouping ?? []\n )\n },\n\n getPreGroupedRowModel: () => instance.getSortedRowModel(),\n getGroupedRowModel: () => {\n if (\n !instance._getGroupedRowModel &&\n instance.options.getGroupedRowModel\n ) {\n instance._getGroupedRowModel =\n instance.options.getGroupedRowModel(instance)\n }\n\n if (instance.options.manualGrouping || !instance._getGroupedRowModel) {\n return instance.getPreGroupedRowModel()\n }\n\n return instance._getGroupedRowModel()\n },\n }\n },\n\n createRow: <TGenerics extends TableGenerics>(\n row: Row<TGenerics>,\n instance: TableInstance<TGenerics>\n ): GroupingRow => {\n return {\n getIsGrouped: () => !!row.groupingColumnId,\n groupingValuesCache: {},\n }\n },\n\n createCell: <TGenerics extends TableGenerics>(\n cell: Cell<TGenerics>,\n column: Column<TGenerics>,\n row: Row<TGenerics>,\n instance: TableInstance<TGenerics>\n ): GroupingCell<TGenerics> => {\n return {\n getIsGrouped: () =>\n column.getIsGrouped() && column.id === row.groupingColumnId,\n getIsPlaceholder: () => !cell.getIsGrouped() && column.getIsGrouped(),\n getIsAggregated: () =>\n !cell.getIsGrouped() &&\n !cell.getIsPlaceholder() &&\n row.subRows?.length > 1,\n renderAggregatedCell: () => {\n const template = column.aggregatedCell ?? column.cell\n\n return template\n ? instance.render(template, {\n instance,\n column,\n row,\n cell,\n getValue: cell.getValue,\n })\n : null\n },\n }\n },\n}\n\nexport function orderColumns<TGenerics extends TableGenerics>(\n leafColumns: Column<TGenerics>[],\n grouping: string[],\n groupedColumnMode?: GroupingColumnMode\n) {\n if (!grouping?.length || !groupedColumnMode) {\n return leafColumns\n }\n\n const nonGroupingColumns = leafColumns.filter(\n col => !grouping.includes(col.id)\n )\n\n if (groupedColumnMode === 'remove') {\n return nonGroupingColumns\n }\n\n const groupingColumns = grouping\n .map(g => leafColumns.find(col => col.id === g)!)\n .filter(Boolean)\n\n return [...groupingColumns, ...nonGroupingColumns]\n}\n"],"names":["Grouping","getDefaultColumn","aggregationFn","getInitialState","state","grouping","getDefaultOptions","instance","onGroupingChange","makeStateUpdater","groupedColumnMode","createColumn","column","toggleGrouping","setGrouping","old","includes","id","filter","d","getCanGroup","enableGrouping","options","accessorFn","getIsGrouped","getState","getGroupedIndex","indexOf","getToggleGroupingHandler","canGroup","getColumnAutoAggregationFn","firstRow","getCoreRowModel","flatRows","value","getValue","aggregationFns","sum","Object","prototype","toString","call","extent","count","getColumnAggregationFn","userAggregationFns","Error","isFunction","createInstance","updater","resetGrouping","defaultState","initialState","getPreGroupedRowModel","getSortedRowModel","getGroupedRowModel","_getGroupedRowModel","manualGrouping","createRow","row","groupingColumnId","groupingValuesCache","createCell","cell","getIsPlaceholder","getIsAggregated","subRows","length","renderAggregatedCell","template","aggregatedCell","render","orderColumns","leafColumns","nonGroupingColumns","col","groupingColumns","map","g","find","Boolean"],"mappings":"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"}
{"version":3,"file":"Grouping.js","sources":["../../../src/features/Grouping.ts"],"sourcesContent":["import { RowModel } from '..'\nimport { BuiltInAggregationFn, aggregationFns } from '../aggregationFns'\nimport {\n Cell,\n Column,\n OnChangeFn,\n TableInstance,\n Row,\n Updater,\n Renderable,\n TableGenerics,\n TableFeature,\n} from '../types'\nimport { isFunction, makeStateUpdater, Overwrite } from '../utils'\n\nexport type GroupingState = string[]\n\nexport type AggregationFn<TGenerics extends TableGenerics> = (\n getLeafValues: () => TGenerics['Row'][],\n getChildValues: () => TGenerics['Row'][]\n) => any\n\nexport type CustomAggregationFns<TGenerics extends TableGenerics> = Record<\n string,\n AggregationFn<TGenerics>\n>\n\nexport type AggregationFnOption<TGenerics extends TableGenerics> =\n | 'auto'\n | BuiltInAggregationFn\n | keyof TGenerics['AggregationFns']\n | AggregationFn<TGenerics>\n\nexport type GroupingTableState = {\n grouping: GroupingState\n}\n\nexport type GroupingColumnDef<TGenerics extends TableGenerics> = {\n aggregationFn?: AggregationFnOption<Overwrite<TGenerics, { Value: any }>>\n aggregateValue?: (columnValue: unknown) => any\n aggregatedCell?: Renderable<\n TGenerics,\n {\n instance: TableInstance<TGenerics>\n row: Row<TGenerics>\n column: Column<TGenerics>\n cell: Cell<TGenerics>\n getValue: () => TGenerics['Value']\n }\n >\n enableGrouping?: boolean\n}\n\nexport type GroupingColumn<TGenerics extends TableGenerics> = {\n aggregationFn?: AggregationFnOption<Overwrite<TGenerics, { Value: any }>>\n getCanGroup: () => boolean\n getIsGrouped: () => boolean\n getGroupedIndex: () => number\n toggleGrouping: () => void\n getToggleGroupingHandler: () => () => void\n getColumnAutoAggregationFn: () => AggregationFn<TGenerics> | undefined\n getColumnAggregationFn: () => AggregationFn<TGenerics> | undefined\n}\n\nexport type GroupingRow = {\n groupingColumnId?: string\n groupingValue?: any\n getIsGrouped: () => boolean\n groupingValuesCache: Record<string, any>\n}\n\nexport type GroupingCell<TGenerics extends TableGenerics> = {\n getIsGrouped: () => boolean\n getIsPlaceholder: () => boolean\n getIsAggregated: () => boolean\n renderAggregatedCell: () => string | null | TGenerics['Rendered']\n}\n\nexport type ColumnDefaultOptions = {\n // Column\n onGroupingChange: OnChangeFn<GroupingState>\n enableGrouping: boolean\n}\n\nexport type GroupingOptions<TGenerics extends TableGenerics> = {\n manualGrouping?: boolean\n aggregationFns?: TGenerics['AggregationFns']\n onGroupingChange?: OnChangeFn<GroupingState>\n enableGrouping?: boolean\n enableGroupingRemoval?: boolean\n getGroupedRowModel?: (\n instance: TableInstance<TGenerics>\n ) => () => RowModel<TGenerics>\n\n groupedColumnMode?: false | 'reorder' | 'remove'\n}\n\nexport type GroupingColumnMode = false | 'reorder' | 'remove'\n\nexport type GroupingInstance<TGenerics extends TableGenerics> = {\n setGrouping: (updater: Updater<GroupingState>) => void\n resetGrouping: (defaultState?: boolean) => void\n getPreGroupedRowModel: () => RowModel<TGenerics>\n getGroupedRowModel: () => RowModel<TGenerics>\n _getGroupedRowModel?: () => RowModel<TGenerics>\n}\n\n//\n\nexport const Grouping: TableFeature = {\n getDefaultColumn: <\n TGenerics extends TableGenerics\n >(): GroupingColumnDef<TGenerics> => {\n return {\n aggregationFn: 'auto',\n }\n },\n\n getInitialState: (state): GroupingTableState => {\n return {\n grouping: [],\n ...state,\n }\n },\n\n getDefaultOptions: <TGenerics extends TableGenerics>(\n instance: TableInstance<TGenerics>\n ): GroupingOptions<TGenerics> => {\n return {\n onGroupingChange: makeStateUpdater('grouping', instance),\n groupedColumnMode: 'reorder',\n }\n },\n\n createColumn: <TGenerics extends TableGenerics>(\n column: Column<TGenerics>,\n instance: TableInstance<TGenerics>\n ): GroupingColumn<TGenerics> => {\n return {\n toggleGrouping: () => {\n instance.setGrouping(old => {\n // Find any existing grouping for this column\n if (old?.includes(column.id)) {\n return old.filter(d => d !== column.id)\n }\n\n return [...(old ?? []), column.id]\n })\n },\n\n getCanGroup: () => {\n return (\n column.enableGrouping ??\n true ??\n instance.options.enableGrouping ??\n true ??\n !!column.accessorFn\n )\n },\n\n getIsGrouped: () => {\n return instance.getState().grouping?.includes(column.id)\n },\n\n getGroupedIndex: () => instance.getState().grouping?.indexOf(column.id),\n\n getToggleGroupingHandler: () => {\n const canGroup = column.getCanGroup()\n\n return () => {\n if (!canGroup) return\n column.toggleGrouping()\n }\n },\n getColumnAutoAggregationFn: () => {\n const firstRow = instance.getCoreRowModel().flatRows[0]\n\n const value = firstRow?.getValue(column.id)\n\n if (typeof value === 'number') {\n return aggregationFns.sum\n }\n\n if (Object.prototype.toString.call(value) === '[object Date]') {\n return aggregationFns.extent\n }\n\n return aggregationFns.count\n },\n getColumnAggregationFn: () => {\n const userAggregationFns = instance.options.aggregationFns\n\n if (!column) {\n throw new Error()\n }\n\n return isFunction(column.aggregationFn)\n ? column.aggregationFn\n : column.aggregationFn === 'auto'\n ? column.getColumnAutoAggregationFn()\n : (userAggregationFns as Record<string, any>)?.[\n column.aggregationFn as string\n ] ??\n (aggregationFns[\n column.aggregationFn as BuiltInAggregationFn\n ] as AggregationFn<TGenerics>)\n },\n }\n },\n\n createInstance: <TGenerics extends TableGenerics>(\n instance: TableInstance<TGenerics>\n ): GroupingInstance<TGenerics> => {\n return {\n setGrouping: updater => instance.options.onGroupingChange?.(updater),\n\n resetGrouping: defaultState => {\n instance.setGrouping(\n defaultState ? [] : instance.initialState?.grouping ?? []\n )\n },\n\n getPreGroupedRowModel: () => instance.getSortedRowModel(),\n getGroupedRowModel: () => {\n if (\n !instance._getGroupedRowModel &&\n instance.options.getGroupedRowModel\n ) {\n instance._getGroupedRowModel =\n instance.options.getGroupedRowModel(instance)\n }\n\n if (instance.options.manualGrouping || !instance._getGroupedRowModel) {\n return instance.getPreGroupedRowModel()\n }\n\n return instance._getGroupedRowModel()\n },\n }\n },\n\n createRow: <TGenerics extends TableGenerics>(\n row: Row<TGenerics>,\n instance: TableInstance<TGenerics>\n ): GroupingRow => {\n return {\n getIsGrouped: () => !!row.groupingColumnId,\n groupingValuesCache: {},\n }\n },\n\n createCell: <TGenerics extends TableGenerics>(\n cell: Cell<TGenerics>,\n column: Column<TGenerics>,\n row: Row<TGenerics>,\n instance: TableInstance<TGenerics>\n ): GroupingCell<TGenerics> => {\n return {\n getIsGrouped: () =>\n column.getIsGrouped() && column.id === row.groupingColumnId,\n getIsPlaceholder: () => !cell.getIsGrouped() && column.getIsGrouped(),\n getIsAggregated: () =>\n !cell.getIsGrouped() &&\n !cell.getIsPlaceholder() &&\n row.subRows?.length > 1,\n renderAggregatedCell: () => {\n const template = column.aggregatedCell ?? column.cell\n\n return template\n ? instance._render(template, {\n instance,\n column,\n row,\n cell,\n getValue: cell.getValue,\n })\n : null\n },\n }\n },\n}\n\nexport function orderColumns<TGenerics extends TableGenerics>(\n leafColumns: Column<TGenerics>[],\n grouping: string[],\n groupedColumnMode?: GroupingColumnMode\n) {\n if (!grouping?.length || !groupedColumnMode) {\n return leafColumns\n }\n\n const nonGroupingColumns = leafColumns.filter(\n col => !grouping.includes(col.id)\n )\n\n if (groupedColumnMode === 'remove') {\n return nonGroupingColumns\n }\n\n const groupingColumns = grouping\n .map(g => leafColumns.find(col => col.id === g)!)\n .filter(Boolean)\n\n return [...groupingColumns, ...nonGroupingColumns]\n}\n"],"names":["Grouping","getDefaultColumn","aggregationFn","getInitialState","state","grouping","getDefaultOptions","instance","onGroupingChange","makeStateUpdater","groupedColumnMode","createColumn","column","toggleGrouping","setGrouping","old","includes","id","filter","d","getCanGroup","enableGrouping","options","accessorFn","getIsGrouped","getState","getGroupedIndex","indexOf","getToggleGroupingHandler","canGroup","getColumnAutoAggregationFn","firstRow","getCoreRowModel","flatRows","value","getValue","aggregationFns","sum","Object","prototype","toString","call","extent","count","getColumnAggregationFn","userAggregationFns","Error","isFunction","createInstance","updater","resetGrouping","defaultState","initialState","getPreGroupedRowModel","getSortedRowModel","getGroupedRowModel","_getGroupedRowModel","manualGrouping","createRow","row","groupingColumnId","groupingValuesCache","createCell","cell","getIsPlaceholder","getIsAggregated","subRows","length","renderAggregatedCell","template","aggregatedCell","_render","orderColumns","leafColumns","nonGroupingColumns","col","groupingColumns","map","g","find","Boolean"],"mappings":"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"}

@@ -50,3 +50,3 @@ /**

},
renderHeader: () => column.header ? instance.render(column.header, {
renderHeader: () => column.header ? instance._render(column.header, {
instance,

@@ -56,3 +56,3 @@ header: header,

}) : null,
renderFooter: () => column.footer ? instance.render(column.footer, {
renderFooter: () => column.footer ? instance._render(column.footer, {
instance,

@@ -59,0 +59,0 @@ header: header,

@@ -1,1 +0,1 @@

{"version":3,"file":"Headers.js","sources":["../../../src/features/Headers.ts"],"sourcesContent":["import {\n Column,\n CoreHeader,\n Header,\n HeaderGroup,\n TableGenerics,\n TableInstance,\n} from '../types'\nimport { memo } from '../utils'\n\nexport type HeadersInstance<TGenerics extends TableGenerics> = {\n createHeader: (\n column: Column<TGenerics>,\n options: {\n id?: string\n isPlaceholder?: boolean\n placeholderId?: string\n index: number\n depth: number\n }\n ) => Header<TGenerics>\n getHeaderGroups: () => HeaderGroup<TGenerics>[]\n getLeftHeaderGroups: () => HeaderGroup<TGenerics>[]\n getCenterHeaderGroups: () => HeaderGroup<TGenerics>[]\n getRightHeaderGroups: () => HeaderGroup<TGenerics>[]\n\n getFooterGroups: () => HeaderGroup<TGenerics>[]\n getLeftFooterGroups: () => HeaderGroup<TGenerics>[]\n getCenterFooterGroups: () => HeaderGroup<TGenerics>[]\n getRightFooterGroups: () => HeaderGroup<TGenerics>[]\n\n getFlatHeaders: () => Header<TGenerics>[]\n getLeftFlatHeaders: () => Header<TGenerics>[]\n getCenterFlatHeaders: () => Header<TGenerics>[]\n getRightFlatHeaders: () => Header<TGenerics>[]\n\n getLeafHeaders: () => Header<TGenerics>[]\n getLeftLeafHeaders: () => Header<TGenerics>[]\n getCenterLeafHeaders: () => Header<TGenerics>[]\n getRightLeafHeaders: () => Header<TGenerics>[]\n\n getHeader: (id: string) => Header<TGenerics>\n}\n\n//\n\nexport const Headers = {\n createInstance: <TGenerics extends TableGenerics>(\n instance: TableInstance<TGenerics>\n ): HeadersInstance<TGenerics> => {\n return {\n createHeader: (\n column: Column<TGenerics>,\n options: {\n id?: string\n isPlaceholder?: boolean\n placeholderId?: string\n index: number\n depth: number\n }\n ) => {\n const id = options.id ?? column.id\n\n let header: CoreHeader<TGenerics> = {\n id,\n column,\n index: options.index,\n isPlaceholder: options.isPlaceholder,\n placeholderId: options.placeholderId,\n depth: options.depth,\n subHeaders: [],\n colSpan: 0,\n rowSpan: 0,\n headerGroup: null!,\n getLeafHeaders: (): Header<TGenerics>[] => {\n const leafHeaders: CoreHeader<TGenerics>[] = []\n\n const recurseHeader = (h: CoreHeader<TGenerics>) => {\n if (h.subHeaders && h.subHeaders.length) {\n h.subHeaders.map(recurseHeader)\n }\n leafHeaders.push(h)\n }\n\n recurseHeader(header)\n\n return leafHeaders as Header<TGenerics>[]\n },\n renderHeader: () =>\n column.header\n ? instance.render(column.header, {\n instance,\n header: header as Header<TGenerics>,\n column,\n })\n : null,\n renderFooter: () =>\n column.footer\n ? instance.render(column.footer, {\n instance,\n header: header as Header<TGenerics>,\n column,\n })\n : null,\n }\n\n instance._features.forEach(feature => {\n Object.assign(header, feature.createHeader?.(header, instance))\n })\n\n return header as Header<TGenerics>\n },\n\n // Header Groups\n\n getHeaderGroups: memo(\n () => [\n instance.getAllColumns(),\n instance.getVisibleLeafColumns(),\n instance.getState().columnPinning.left,\n instance.getState().columnPinning.right,\n ],\n (allColumns, leafColumns, left, right) => {\n const leftColumns = leafColumns.filter(column =>\n left?.includes(column.id)\n )\n const rightColumns = leafColumns.filter(column =>\n right?.includes(column.id)\n )\n const centerColumns = leafColumns.filter(\n column => !left?.includes(column.id) && !right?.includes(column.id)\n )\n const headerGroups = buildHeaderGroups(\n allColumns,\n [...leftColumns, ...centerColumns, ...rightColumns],\n instance\n )\n\n return headerGroups\n },\n {\n key: process.env.NODE_ENV === 'development' && 'getHeaderGroups',\n debug: () =>\n instance.options.debugAll ?? instance.options.debugHeaders,\n }\n ),\n\n getCenterHeaderGroups: memo(\n () => [\n instance.getAllColumns(),\n instance.getVisibleLeafColumns(),\n instance.getState().columnPinning.left,\n instance.getState().columnPinning.right,\n ],\n (allColumns, leafColumns, left, right) => {\n leafColumns = leafColumns.filter(\n column => !left?.includes(column.id) && !right?.includes(column.id)\n )\n return buildHeaderGroups(allColumns, leafColumns, instance, 'center')\n },\n {\n key:\n process.env.NODE_ENV === 'development' && 'getCenterHeaderGroups',\n debug: () =>\n instance.options.debugAll ?? instance.options.debugHeaders,\n }\n ),\n\n getLeftHeaderGroups: memo(\n () => [\n instance.getAllColumns(),\n instance.getVisibleLeafColumns(),\n instance.getState().columnPinning.left,\n ],\n (allColumns, leafColumns, left) => {\n leafColumns = leafColumns.filter(column => left?.includes(column.id))\n return buildHeaderGroups(allColumns, leafColumns, instance, 'left')\n },\n {\n key: process.env.NODE_ENV === 'development' && 'getLeftHeaderGroups',\n debug: () =>\n instance.options.debugAll ?? instance.options.debugHeaders,\n }\n ),\n\n getRightHeaderGroups: memo(\n () => [\n instance.getAllColumns(),\n instance.getVisibleLeafColumns(),\n instance.getState().columnPinning.right,\n ],\n (allColumns, leafColumns, right) => {\n leafColumns = leafColumns.filter(column => right?.includes(column.id))\n return buildHeaderGroups(allColumns, leafColumns, instance, 'right')\n },\n {\n key: process.env.NODE_ENV === 'development' && 'getRightHeaderGroups',\n debug: () =>\n instance.options.debugAll ?? instance.options.debugHeaders,\n }\n ),\n\n // Footer Groups\n\n getFooterGroups: memo(\n () => [instance.getHeaderGroups()],\n headerGroups => {\n return [...headerGroups].reverse()\n },\n {\n key: process.env.NODE_ENV === 'development' && 'getFooterGroups',\n debug: () =>\n instance.options.debugAll ?? instance.options.debugHeaders,\n }\n ),\n\n getLeftFooterGroups: memo(\n () => [instance.getLeftHeaderGroups()],\n headerGroups => {\n return [...headerGroups].reverse()\n },\n {\n key: process.env.NODE_ENV === 'development' && 'getLeftFooterGroups',\n debug: () =>\n instance.options.debugAll ?? instance.options.debugHeaders,\n }\n ),\n\n getCenterFooterGroups: memo(\n () => [instance.getCenterHeaderGroups()],\n headerGroups => {\n return [...headerGroups].reverse()\n },\n {\n key:\n process.env.NODE_ENV === 'development' && 'getCenterFooterGroups',\n debug: () =>\n instance.options.debugAll ?? instance.options.debugHeaders,\n }\n ),\n\n getRightFooterGroups: memo(\n () => [instance.getRightHeaderGroups()],\n headerGroups => {\n return [...headerGroups].reverse()\n },\n {\n key: process.env.NODE_ENV === 'development' && 'getRightFooterGroups',\n debug: () =>\n instance.options.debugAll ?? instance.options.debugHeaders,\n }\n ),\n\n // Flat Headers\n\n getFlatHeaders: memo(\n () => [instance.getHeaderGroups()],\n headerGroups => {\n return headerGroups\n .map(headerGroup => {\n return headerGroup.headers\n })\n .flat()\n },\n {\n key: process.env.NODE_ENV === 'development' && 'getFlatHeaders',\n debug: () =>\n instance.options.debugAll ?? instance.options.debugHeaders,\n }\n ),\n\n getLeftFlatHeaders: memo(\n () => [instance.getLeftHeaderGroups()],\n left => {\n return left\n .map(headerGroup => {\n return headerGroup.headers\n })\n .flat()\n },\n {\n key: process.env.NODE_ENV === 'development' && 'getLeftFlatHeaders',\n debug: () =>\n instance.options.debugAll ?? instance.options.debugHeaders,\n }\n ),\n\n getCenterFlatHeaders: memo(\n () => [instance.getCenterHeaderGroups()],\n left => {\n return left\n .map(headerGroup => {\n return headerGroup.headers\n })\n .flat()\n },\n {\n key: process.env.NODE_ENV === 'development' && 'getCenterFlatHeaders',\n debug: () =>\n instance.options.debugAll ?? instance.options.debugHeaders,\n }\n ),\n\n getRightFlatHeaders: memo(\n () => [instance.getRightHeaderGroups()],\n left => {\n return left\n .map(headerGroup => {\n return headerGroup.headers\n })\n .flat()\n },\n {\n key: process.env.NODE_ENV === 'development' && 'getRightFlatHeaders',\n debug: () =>\n instance.options.debugAll ?? instance.options.debugHeaders,\n }\n ),\n\n // Leaf Headers\n\n getCenterLeafHeaders: memo(\n () => [instance.getCenterFlatHeaders()],\n flatHeaders => {\n return flatHeaders.filter(header => !header.subHeaders?.length)\n },\n {\n key: process.env.NODE_ENV === 'development' && 'getCenterLeafHeaders',\n debug: () =>\n instance.options.debugAll ?? instance.options.debugHeaders,\n }\n ),\n\n getLeftLeafHeaders: memo(\n () => [instance.getLeftFlatHeaders()],\n flatHeaders => {\n return flatHeaders.filter(header => !header.subHeaders?.length)\n },\n {\n key: process.env.NODE_ENV === 'development' && 'getLeftLeafHeaders',\n debug: () =>\n instance.options.debugAll ?? instance.options.debugHeaders,\n }\n ),\n\n getRightLeafHeaders: memo(\n () => [instance.getRightFlatHeaders()],\n flatHeaders => {\n return flatHeaders.filter(header => !header.subHeaders?.length)\n },\n {\n key: process.env.NODE_ENV === 'development' && 'getRightLeafHeaders',\n debug: () =>\n instance.options.debugAll ?? instance.options.debugHeaders,\n }\n ),\n\n getLeafHeaders: memo(\n () => [\n instance.getLeftHeaderGroups(),\n instance.getCenterHeaderGroups(),\n instance.getRightHeaderGroups(),\n ],\n (left, center, right) => {\n return [\n ...(left[0]?.headers ?? []),\n ...(center[0]?.headers ?? []),\n ...(right[0]?.headers ?? []),\n ]\n .map(header => {\n return header.getLeafHeaders()\n })\n .flat()\n },\n {\n key: process.env.NODE_ENV === 'development' && 'getLeafHeaders',\n debug: () =>\n instance.options.debugAll ?? instance.options.debugHeaders,\n }\n ),\n\n getHeader: (id: string) => {\n const header = [\n ...instance.getFlatHeaders(),\n ...instance.getCenterFlatHeaders(),\n ...instance.getLeftFlatHeaders(),\n ...instance.getRightFlatHeaders(),\n ].find(d => d.id === id)\n\n if (!header) {\n if (process.env.NODE_ENV !== 'production') {\n console.warn(`Could not find header with id: ${id}`)\n }\n throw new Error()\n }\n\n return header\n },\n }\n },\n}\n\nexport function buildHeaderGroups<TGenerics extends TableGenerics>(\n allColumns: Column<TGenerics>[],\n columnsToGroup: Column<TGenerics>[],\n instance: TableInstance<TGenerics>,\n headerFamily?: 'center' | 'left' | 'right'\n) {\n // Find the max depth of the columns:\n // build the leaf column row\n // build each buffer row going up\n // placeholder for non-existent level\n // real column for existing level\n\n let maxDepth = 0\n\n const findMaxDepth = (columns: Column<TGenerics>[], depth = 1) => {\n maxDepth = Math.max(maxDepth, depth)\n\n columns\n .filter(column => column.getIsVisible())\n .forEach(column => {\n if (column.columns?.length) {\n findMaxDepth(column.columns, depth + 1)\n }\n }, 0)\n }\n\n findMaxDepth(allColumns)\n\n let headerGroups: HeaderGroup<TGenerics>[] = []\n\n const createHeaderGroup = (\n headersToGroup: Header<TGenerics>[],\n depth: number\n ) => {\n // The header group we are creating\n const headerGroup: HeaderGroup<TGenerics> = {\n depth,\n id: [headerFamily, `${depth}`].filter(Boolean).join('_'),\n headers: [],\n }\n\n // The parent columns we're going to scan next\n const pendingParentHeaders: Header<TGenerics>[] = []\n\n // Scan each column for parents\n headersToGroup.forEach(headerToGroup => {\n // What is the latest (last) parent column?\n\n const latestPendingParentHeader = [...pendingParentHeaders].reverse()[0]\n\n const isLeafHeader = headerToGroup.column.depth === headerGroup.depth\n\n let column: Column<TGenerics>\n let isPlaceholder = false\n\n if (isLeafHeader && headerToGroup.column.parent) {\n // The parent header is new\n column = headerToGroup.column.parent\n } else {\n // The parent header is repeated\n column = headerToGroup.column\n isPlaceholder = true\n }\n\n if (latestPendingParentHeader?.column === column) {\n // This column is repeated. Add it as a sub header to the next batch\n latestPendingParentHeader.subHeaders.push(headerToGroup)\n } else {\n // This is a new header. Let's create it\n const header = instance.createHeader(column, {\n id: [headerFamily, depth, column.id, headerToGroup?.id]\n .filter(Boolean)\n .join('_'),\n isPlaceholder,\n placeholderId: isPlaceholder\n ? `${pendingParentHeaders.filter(d => d.column === column).length}`\n : undefined,\n depth,\n index: pendingParentHeaders.length,\n })\n\n // Add the headerToGroup as a subHeader of the new header\n header.subHeaders.push(headerToGroup)\n // Add the new header to the pendingParentHeaders to get grouped\n // in the next batch\n pendingParentHeaders.push(header)\n }\n\n headerGroup.headers.push(headerToGroup)\n headerToGroup.headerGroup = headerGroup\n })\n\n headerGroups.push(headerGroup)\n\n if (depth > 0) {\n createHeaderGroup(pendingParentHeaders, depth - 1)\n }\n }\n\n const bottomHeaders = columnsToGroup.map((column, index) =>\n instance.createHeader(column, {\n depth: maxDepth,\n index,\n })\n )\n\n createHeaderGroup(bottomHeaders, maxDepth - 1)\n\n headerGroups.reverse()\n\n // headerGroups = headerGroups.filter(headerGroup => {\n // return !headerGroup.headers.every(header => header.isPlaceholder)\n // })\n\n const recurseHeadersForSpans = (headers: Header<TGenerics>[]) => {\n const filteredHeaders = headers.filter(header =>\n header.column.getIsVisible()\n )\n\n return filteredHeaders.map(header => {\n let colSpan = 0\n let rowSpan = 0\n let childRowSpans = [0]\n\n if (header.subHeaders && header.subHeaders.length) {\n childRowSpans = []\n\n recurseHeadersForSpans(header.subHeaders).forEach(\n ({ colSpan: childColSpan, rowSpan: childRowSpan }) => {\n colSpan += childColSpan\n childRowSpans.push(childRowSpan)\n }\n )\n } else {\n colSpan = 1\n }\n\n const minChildRowSpan = Math.min(...childRowSpans)\n rowSpan = rowSpan + minChildRowSpan\n\n header.colSpan = colSpan > 0 ? colSpan : undefined\n header.rowSpan = rowSpan > 0 ? rowSpan : undefined\n\n return { colSpan, rowSpan }\n })\n }\n\n recurseHeadersForSpans(headerGroups[0]?.headers ?? [])\n\n return headerGroups\n}\n"],"names":["Headers","createInstance","instance","createHeader","column","options","id","header","index","isPlaceholder","placeholderId","depth","subHeaders","colSpan","rowSpan","headerGroup","getLeafHeaders","leafHeaders","recurseHeader","h","length","map","push","renderHeader","render","renderFooter","footer","_features","forEach","feature","Object","assign","getHeaderGroups","memo","getAllColumns","getVisibleLeafColumns","getState","columnPinning","left","right","allColumns","leafColumns","leftColumns","filter","includes","rightColumns","centerColumns","headerGroups","buildHeaderGroups","key","process","env","NODE_ENV","debug","debugAll","debugHeaders","getCenterHeaderGroups","getLeftHeaderGroups","getRightHeaderGroups","getFooterGroups","reverse","getLeftFooterGroups","getCenterFooterGroups","getRightFooterGroups","getFlatHeaders","headers","flat","getLeftFlatHeaders","getCenterFlatHeaders","getRightFlatHeaders","getCenterLeafHeaders","flatHeaders","getLeftLeafHeaders","getRightLeafHeaders","center","getHeader","find","d","console","warn","Error","columnsToGroup","headerFamily","maxDepth","findMaxDepth","columns","Math","max","getIsVisible","createHeaderGroup","headersToGroup","Boolean","join","pendingParentHeaders","headerToGroup","latestPendingParentHeader","isLeafHeader","parent","undefined","bottomHeaders","recurseHeadersForSpans","filteredHeaders","childRowSpans","childColSpan","childRowSpan","minChildRowSpan","min"],"mappings":"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"}
{"version":3,"file":"Headers.js","sources":["../../../src/features/Headers.ts"],"sourcesContent":["import {\n Column,\n CoreHeader,\n Header,\n HeaderGroup,\n TableGenerics,\n TableInstance,\n} from '../types'\nimport { memo } from '../utils'\n\nexport type HeadersInstance<TGenerics extends TableGenerics> = {\n createHeader: (\n column: Column<TGenerics>,\n options: {\n id?: string\n isPlaceholder?: boolean\n placeholderId?: string\n index: number\n depth: number\n }\n ) => Header<TGenerics>\n getHeaderGroups: () => HeaderGroup<TGenerics>[]\n getLeftHeaderGroups: () => HeaderGroup<TGenerics>[]\n getCenterHeaderGroups: () => HeaderGroup<TGenerics>[]\n getRightHeaderGroups: () => HeaderGroup<TGenerics>[]\n\n getFooterGroups: () => HeaderGroup<TGenerics>[]\n getLeftFooterGroups: () => HeaderGroup<TGenerics>[]\n getCenterFooterGroups: () => HeaderGroup<TGenerics>[]\n getRightFooterGroups: () => HeaderGroup<TGenerics>[]\n\n getFlatHeaders: () => Header<TGenerics>[]\n getLeftFlatHeaders: () => Header<TGenerics>[]\n getCenterFlatHeaders: () => Header<TGenerics>[]\n getRightFlatHeaders: () => Header<TGenerics>[]\n\n getLeafHeaders: () => Header<TGenerics>[]\n getLeftLeafHeaders: () => Header<TGenerics>[]\n getCenterLeafHeaders: () => Header<TGenerics>[]\n getRightLeafHeaders: () => Header<TGenerics>[]\n\n getHeader: (id: string) => Header<TGenerics>\n}\n\n//\n\nexport const Headers = {\n createInstance: <TGenerics extends TableGenerics>(\n instance: TableInstance<TGenerics>\n ): HeadersInstance<TGenerics> => {\n return {\n createHeader: (\n column: Column<TGenerics>,\n options: {\n id?: string\n isPlaceholder?: boolean\n placeholderId?: string\n index: number\n depth: number\n }\n ) => {\n const id = options.id ?? column.id\n\n let header: CoreHeader<TGenerics> = {\n id,\n column,\n index: options.index,\n isPlaceholder: options.isPlaceholder,\n placeholderId: options.placeholderId,\n depth: options.depth,\n subHeaders: [],\n colSpan: 0,\n rowSpan: 0,\n headerGroup: null!,\n getLeafHeaders: (): Header<TGenerics>[] => {\n const leafHeaders: CoreHeader<TGenerics>[] = []\n\n const recurseHeader = (h: CoreHeader<TGenerics>) => {\n if (h.subHeaders && h.subHeaders.length) {\n h.subHeaders.map(recurseHeader)\n }\n leafHeaders.push(h)\n }\n\n recurseHeader(header)\n\n return leafHeaders as Header<TGenerics>[]\n },\n renderHeader: () =>\n column.header\n ? instance._render(column.header, {\n instance,\n header: header as Header<TGenerics>,\n column,\n })\n : null,\n renderFooter: () =>\n column.footer\n ? instance._render(column.footer, {\n instance,\n header: header as Header<TGenerics>,\n column,\n })\n : null,\n }\n\n instance._features.forEach(feature => {\n Object.assign(header, feature.createHeader?.(header, instance))\n })\n\n return header as Header<TGenerics>\n },\n\n // Header Groups\n\n getHeaderGroups: memo(\n () => [\n instance.getAllColumns(),\n instance.getVisibleLeafColumns(),\n instance.getState().columnPinning.left,\n instance.getState().columnPinning.right,\n ],\n (allColumns, leafColumns, left, right) => {\n const leftColumns = leafColumns.filter(column =>\n left?.includes(column.id)\n )\n const rightColumns = leafColumns.filter(column =>\n right?.includes(column.id)\n )\n const centerColumns = leafColumns.filter(\n column => !left?.includes(column.id) && !right?.includes(column.id)\n )\n const headerGroups = buildHeaderGroups(\n allColumns,\n [...leftColumns, ...centerColumns, ...rightColumns],\n instance\n )\n\n return headerGroups\n },\n {\n key: process.env.NODE_ENV === 'development' && 'getHeaderGroups',\n debug: () =>\n instance.options.debugAll ?? instance.options.debugHeaders,\n }\n ),\n\n getCenterHeaderGroups: memo(\n () => [\n instance.getAllColumns(),\n instance.getVisibleLeafColumns(),\n instance.getState().columnPinning.left,\n instance.getState().columnPinning.right,\n ],\n (allColumns, leafColumns, left, right) => {\n leafColumns = leafColumns.filter(\n column => !left?.includes(column.id) && !right?.includes(column.id)\n )\n return buildHeaderGroups(allColumns, leafColumns, instance, 'center')\n },\n {\n key:\n process.env.NODE_ENV === 'development' && 'getCenterHeaderGroups',\n debug: () =>\n instance.options.debugAll ?? instance.options.debugHeaders,\n }\n ),\n\n getLeftHeaderGroups: memo(\n () => [\n instance.getAllColumns(),\n instance.getVisibleLeafColumns(),\n instance.getState().columnPinning.left,\n ],\n (allColumns, leafColumns, left) => {\n leafColumns = leafColumns.filter(column => left?.includes(column.id))\n return buildHeaderGroups(allColumns, leafColumns, instance, 'left')\n },\n {\n key: process.env.NODE_ENV === 'development' && 'getLeftHeaderGroups',\n debug: () =>\n instance.options.debugAll ?? instance.options.debugHeaders,\n }\n ),\n\n getRightHeaderGroups: memo(\n () => [\n instance.getAllColumns(),\n instance.getVisibleLeafColumns(),\n instance.getState().columnPinning.right,\n ],\n (allColumns, leafColumns, right) => {\n leafColumns = leafColumns.filter(column => right?.includes(column.id))\n return buildHeaderGroups(allColumns, leafColumns, instance, 'right')\n },\n {\n key: process.env.NODE_ENV === 'development' && 'getRightHeaderGroups',\n debug: () =>\n instance.options.debugAll ?? instance.options.debugHeaders,\n }\n ),\n\n // Footer Groups\n\n getFooterGroups: memo(\n () => [instance.getHeaderGroups()],\n headerGroups => {\n return [...headerGroups].reverse()\n },\n {\n key: process.env.NODE_ENV === 'development' && 'getFooterGroups',\n debug: () =>\n instance.options.debugAll ?? instance.options.debugHeaders,\n }\n ),\n\n getLeftFooterGroups: memo(\n () => [instance.getLeftHeaderGroups()],\n headerGroups => {\n return [...headerGroups].reverse()\n },\n {\n key: process.env.NODE_ENV === 'development' && 'getLeftFooterGroups',\n debug: () =>\n instance.options.debugAll ?? instance.options.debugHeaders,\n }\n ),\n\n getCenterFooterGroups: memo(\n () => [instance.getCenterHeaderGroups()],\n headerGroups => {\n return [...headerGroups].reverse()\n },\n {\n key:\n process.env.NODE_ENV === 'development' && 'getCenterFooterGroups',\n debug: () =>\n instance.options.debugAll ?? instance.options.debugHeaders,\n }\n ),\n\n getRightFooterGroups: memo(\n () => [instance.getRightHeaderGroups()],\n headerGroups => {\n return [...headerGroups].reverse()\n },\n {\n key: process.env.NODE_ENV === 'development' && 'getRightFooterGroups',\n debug: () =>\n instance.options.debugAll ?? instance.options.debugHeaders,\n }\n ),\n\n // Flat Headers\n\n getFlatHeaders: memo(\n () => [instance.getHeaderGroups()],\n headerGroups => {\n return headerGroups\n .map(headerGroup => {\n return headerGroup.headers\n })\n .flat()\n },\n {\n key: process.env.NODE_ENV === 'development' && 'getFlatHeaders',\n debug: () =>\n instance.options.debugAll ?? instance.options.debugHeaders,\n }\n ),\n\n getLeftFlatHeaders: memo(\n () => [instance.getLeftHeaderGroups()],\n left => {\n return left\n .map(headerGroup => {\n return headerGroup.headers\n })\n .flat()\n },\n {\n key: process.env.NODE_ENV === 'development' && 'getLeftFlatHeaders',\n debug: () =>\n instance.options.debugAll ?? instance.options.debugHeaders,\n }\n ),\n\n getCenterFlatHeaders: memo(\n () => [instance.getCenterHeaderGroups()],\n left => {\n return left\n .map(headerGroup => {\n return headerGroup.headers\n })\n .flat()\n },\n {\n key: process.env.NODE_ENV === 'development' && 'getCenterFlatHeaders',\n debug: () =>\n instance.options.debugAll ?? instance.options.debugHeaders,\n }\n ),\n\n getRightFlatHeaders: memo(\n () => [instance.getRightHeaderGroups()],\n left => {\n return left\n .map(headerGroup => {\n return headerGroup.headers\n })\n .flat()\n },\n {\n key: process.env.NODE_ENV === 'development' && 'getRightFlatHeaders',\n debug: () =>\n instance.options.debugAll ?? instance.options.debugHeaders,\n }\n ),\n\n // Leaf Headers\n\n getCenterLeafHeaders: memo(\n () => [instance.getCenterFlatHeaders()],\n flatHeaders => {\n return flatHeaders.filter(header => !header.subHeaders?.length)\n },\n {\n key: process.env.NODE_ENV === 'development' && 'getCenterLeafHeaders',\n debug: () =>\n instance.options.debugAll ?? instance.options.debugHeaders,\n }\n ),\n\n getLeftLeafHeaders: memo(\n () => [instance.getLeftFlatHeaders()],\n flatHeaders => {\n return flatHeaders.filter(header => !header.subHeaders?.length)\n },\n {\n key: process.env.NODE_ENV === 'development' && 'getLeftLeafHeaders',\n debug: () =>\n instance.options.debugAll ?? instance.options.debugHeaders,\n }\n ),\n\n getRightLeafHeaders: memo(\n () => [instance.getRightFlatHeaders()],\n flatHeaders => {\n return flatHeaders.filter(header => !header.subHeaders?.length)\n },\n {\n key: process.env.NODE_ENV === 'development' && 'getRightLeafHeaders',\n debug: () =>\n instance.options.debugAll ?? instance.options.debugHeaders,\n }\n ),\n\n getLeafHeaders: memo(\n () => [\n instance.getLeftHeaderGroups(),\n instance.getCenterHeaderGroups(),\n instance.getRightHeaderGroups(),\n ],\n (left, center, right) => {\n return [\n ...(left[0]?.headers ?? []),\n ...(center[0]?.headers ?? []),\n ...(right[0]?.headers ?? []),\n ]\n .map(header => {\n return header.getLeafHeaders()\n })\n .flat()\n },\n {\n key: process.env.NODE_ENV === 'development' && 'getLeafHeaders',\n debug: () =>\n instance.options.debugAll ?? instance.options.debugHeaders,\n }\n ),\n\n getHeader: (id: string) => {\n const header = [\n ...instance.getFlatHeaders(),\n ...instance.getCenterFlatHeaders(),\n ...instance.getLeftFlatHeaders(),\n ...instance.getRightFlatHeaders(),\n ].find(d => d.id === id)\n\n if (!header) {\n if (process.env.NODE_ENV !== 'production') {\n console.warn(`Could not find header with id: ${id}`)\n }\n throw new Error()\n }\n\n return header\n },\n }\n },\n}\n\nexport function buildHeaderGroups<TGenerics extends TableGenerics>(\n allColumns: Column<TGenerics>[],\n columnsToGroup: Column<TGenerics>[],\n instance: TableInstance<TGenerics>,\n headerFamily?: 'center' | 'left' | 'right'\n) {\n // Find the max depth of the columns:\n // build the leaf column row\n // build each buffer row going up\n // placeholder for non-existent level\n // real column for existing level\n\n let maxDepth = 0\n\n const findMaxDepth = (columns: Column<TGenerics>[], depth = 1) => {\n maxDepth = Math.max(maxDepth, depth)\n\n columns\n .filter(column => column.getIsVisible())\n .forEach(column => {\n if (column.columns?.length) {\n findMaxDepth(column.columns, depth + 1)\n }\n }, 0)\n }\n\n findMaxDepth(allColumns)\n\n let headerGroups: HeaderGroup<TGenerics>[] = []\n\n const createHeaderGroup = (\n headersToGroup: Header<TGenerics>[],\n depth: number\n ) => {\n // The header group we are creating\n const headerGroup: HeaderGroup<TGenerics> = {\n depth,\n id: [headerFamily, `${depth}`].filter(Boolean).join('_'),\n headers: [],\n }\n\n // The parent columns we're going to scan next\n const pendingParentHeaders: Header<TGenerics>[] = []\n\n // Scan each column for parents\n headersToGroup.forEach(headerToGroup => {\n // What is the latest (last) parent column?\n\n const latestPendingParentHeader = [...pendingParentHeaders].reverse()[0]\n\n const isLeafHeader = headerToGroup.column.depth === headerGroup.depth\n\n let column: Column<TGenerics>\n let isPlaceholder = false\n\n if (isLeafHeader && headerToGroup.column.parent) {\n // The parent header is new\n column = headerToGroup.column.parent\n } else {\n // The parent header is repeated\n column = headerToGroup.column\n isPlaceholder = true\n }\n\n if (latestPendingParentHeader?.column === column) {\n // This column is repeated. Add it as a sub header to the next batch\n latestPendingParentHeader.subHeaders.push(headerToGroup)\n } else {\n // This is a new header. Let's create it\n const header = instance.createHeader(column, {\n id: [headerFamily, depth, column.id, headerToGroup?.id]\n .filter(Boolean)\n .join('_'),\n isPlaceholder,\n placeholderId: isPlaceholder\n ? `${pendingParentHeaders.filter(d => d.column === column).length}`\n : undefined,\n depth,\n index: pendingParentHeaders.length,\n })\n\n // Add the headerToGroup as a subHeader of the new header\n header.subHeaders.push(headerToGroup)\n // Add the new header to the pendingParentHeaders to get grouped\n // in the next batch\n pendingParentHeaders.push(header)\n }\n\n headerGroup.headers.push(headerToGroup)\n headerToGroup.headerGroup = headerGroup\n })\n\n headerGroups.push(headerGroup)\n\n if (depth > 0) {\n createHeaderGroup(pendingParentHeaders, depth - 1)\n }\n }\n\n const bottomHeaders = columnsToGroup.map((column, index) =>\n instance.createHeader(column, {\n depth: maxDepth,\n index,\n })\n )\n\n createHeaderGroup(bottomHeaders, maxDepth - 1)\n\n headerGroups.reverse()\n\n // headerGroups = headerGroups.filter(headerGroup => {\n // return !headerGroup.headers.every(header => header.isPlaceholder)\n // })\n\n const recurseHeadersForSpans = (headers: Header<TGenerics>[]) => {\n const filteredHeaders = headers.filter(header =>\n header.column.getIsVisible()\n )\n\n return filteredHeaders.map(header => {\n let colSpan = 0\n let rowSpan = 0\n let childRowSpans = [0]\n\n if (header.subHeaders && header.subHeaders.length) {\n childRowSpans = []\n\n recurseHeadersForSpans(header.subHeaders).forEach(\n ({ colSpan: childColSpan, rowSpan: childRowSpan }) => {\n colSpan += childColSpan\n childRowSpans.push(childRowSpan)\n }\n )\n } else {\n colSpan = 1\n }\n\n const minChildRowSpan = Math.min(...childRowSpans)\n rowSpan = rowSpan + minChildRowSpan\n\n header.colSpan = colSpan > 0 ? colSpan : undefined\n header.rowSpan = rowSpan > 0 ? rowSpan : undefined\n\n return { colSpan, rowSpan }\n })\n }\n\n recurseHeadersForSpans(headerGroups[0]?.headers ?? [])\n\n return headerGroups\n}\n"],"names":["Headers","createInstance","instance","createHeader","column","options","id","header","index","isPlaceholder","placeholderId","depth","subHeaders","colSpan","rowSpan","headerGroup","getLeafHeaders","leafHeaders","recurseHeader","h","length","map","push","renderHeader","_render","renderFooter","footer","_features","forEach","feature","Object","assign","getHeaderGroups","memo","getAllColumns","getVisibleLeafColumns","getState","columnPinning","left","right","allColumns","leafColumns","leftColumns","filter","includes","rightColumns","centerColumns","headerGroups","buildHeaderGroups","key","process","env","NODE_ENV","debug","debugAll","debugHeaders","getCenterHeaderGroups","getLeftHeaderGroups","getRightHeaderGroups","getFooterGroups","reverse","getLeftFooterGroups","getCenterFooterGroups","getRightFooterGroups","getFlatHeaders","headers","flat","getLeftFlatHeaders","getCenterFlatHeaders","getRightFlatHeaders","getCenterLeafHeaders","flatHeaders","getLeftLeafHeaders","getRightLeafHeaders","center","getHeader","find","d","console","warn","Error","columnsToGroup","headerFamily","maxDepth","findMaxDepth","columns","Math","max","getIsVisible","createHeaderGroup","headersToGroup","Boolean","join","pendingParentHeaders","headerToGroup","latestPendingParentHeader","isLeafHeader","parent","undefined","bottomHeaders","recurseHeadersForSpans","filteredHeaders","childRowSpans","childColSpan","childRowSpan","minChildRowSpan","min"],"mappings":"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"}

@@ -36,4 +36,3 @@ /**

return {
onPaginationChange: utils.makeStateUpdater('pagination', instance),
autoResetPageIndex: true
onPaginationChange: utils.makeStateUpdater('pagination', instance)
};

@@ -46,17 +45,17 @@ },

_autoResetPageIndex: () => {
var _ref, _instance$options$aut;
if (!registered) {
instance.queue(() => {
instance._queue(() => {
registered = true;
});
return;
}
if (instance.options.autoResetAll === false) {
return;
}
if (instance.options.autoResetAll === true || instance.options.autoResetPageIndex) {
if ((_ref = (_instance$options$aut = instance.options.autoResetAll) != null ? _instance$options$aut : instance.options.autoResetPageIndex) != null ? _ref : !instance.options.manualPagination) {
if (queued) return;
queued = true;
instance.queue(() => {
instance._queue(() => {
instance.resetPageIndex();

@@ -83,3 +82,3 @@ queued = false;

let pageIndex = utils.functionalUpdate(updater, old.pageIndex);
const maxPageIndex = old.pageCount && old.pageCount > 0 ? old.pageCount - 1 : Number.MAX_SAFE_INTEGER;
const maxPageIndex = typeof old.pageCount !== 'undefined' ? old.pageCount - 1 : Number.MAX_SAFE_INTEGER;
pageIndex = Math.min(Math.max(0, pageIndex), maxPageIndex);

@@ -86,0 +85,0 @@ return { ...old,

@@ -1,1 +0,1 @@

{"version":3,"file":"Pagination.js","sources":["../../../src/features/Pagination.ts"],"sourcesContent":["import {\n OnChangeFn,\n TableGenerics,\n TableInstance,\n RowModel,\n Updater,\n TableFeature,\n} from '../types'\nimport { functionalUpdate, makeStateUpdater, memo } from '../utils'\n\nexport type PaginationState = {\n pageIndex: number\n pageSize: number\n pageCount?: number\n}\n\nexport type PaginationTableState = {\n pagination: PaginationState\n}\n\nexport type PaginationInitialTableState = {\n pagination?: Partial<PaginationState>\n}\n\nexport type PaginationOptions<TGenerics extends TableGenerics> = {\n manualPagination?: boolean\n onPaginationChange?: OnChangeFn<PaginationState>\n autoResetPageIndex?: boolean\n getPaginationRowModel?: (\n instance: TableInstance<TGenerics>\n ) => () => RowModel<TGenerics>\n}\n\nexport type PaginationDefaultOptions = {\n onPaginationChange: OnChangeFn<PaginationState>\n autoResetPageIndex: boolean\n}\n\nexport type PaginationInstance<TGenerics extends TableGenerics> = {\n _autoResetPageIndex: () => void\n setPagination: (updater: Updater<PaginationState>) => void\n resetPagination: (defaultState?: boolean) => void\n setPageIndex: (updater: Updater<number>) => void\n resetPageIndex: (defaultState?: boolean) => void\n setPageSize: (updater: Updater<number>) => void\n resetPageSize: (defaultState?: boolean) => void\n setPageCount: (updater: Updater<number>) => void\n getPageOptions: () => number[]\n getCanPreviousPage: () => boolean\n getCanNextPage: () => boolean\n previousPage: () => void\n nextPage: () => void\n getPrePaginationRowModel: () => RowModel<TGenerics>\n getPaginationRowModel: () => RowModel<TGenerics>\n _getPaginationRowModel?: () => RowModel<TGenerics>\n getPageCount: () => number\n}\n\n//\n\nconst defaultPageIndex = 0\nconst defaultPageSize = 10\n\nconst getDefaultPaginationState = (): PaginationState => ({\n pageIndex: defaultPageIndex,\n pageSize: defaultPageSize,\n})\n\nexport const Pagination: TableFeature = {\n getInitialState: (state): PaginationTableState => {\n return {\n ...state,\n pagination: {\n ...getDefaultPaginationState(),\n ...state?.pagination,\n },\n }\n },\n\n getDefaultOptions: <TGenerics extends TableGenerics>(\n instance: TableInstance<TGenerics>\n ): PaginationDefaultOptions => {\n return {\n onPaginationChange: makeStateUpdater('pagination', instance),\n autoResetPageIndex: true,\n }\n },\n\n createInstance: <TGenerics extends TableGenerics>(\n instance: TableInstance<TGenerics>\n ): PaginationInstance<TGenerics> => {\n let registered = false\n let queued = false\n\n return {\n _autoResetPageIndex: () => {\n if (!registered) {\n instance.queue(() => {\n registered = true\n })\n return\n }\n\n if (instance.options.autoResetAll === false) {\n return\n }\n\n if (\n instance.options.autoResetAll === true ||\n instance.options.autoResetPageIndex\n ) {\n if (queued) return\n queued = true\n instance.queue(() => {\n instance.resetPageIndex()\n queued = false\n })\n }\n },\n setPagination: updater => {\n const safeUpdater: Updater<PaginationState> = old => {\n let newState = functionalUpdate(updater, old)\n\n return newState\n }\n\n return instance.options.onPaginationChange?.(safeUpdater)\n },\n resetPagination: defaultState => {\n instance.setPagination(\n defaultState\n ? getDefaultPaginationState()\n : instance.initialState.pagination ?? getDefaultPaginationState()\n )\n },\n setPageIndex: updater => {\n instance.setPagination(old => {\n let pageIndex = functionalUpdate(updater, old.pageIndex)\n\n const maxPageIndex =\n old.pageCount && old.pageCount > 0\n ? old.pageCount - 1\n : Number.MAX_SAFE_INTEGER\n\n pageIndex = Math.min(Math.max(0, pageIndex), maxPageIndex)\n\n return {\n ...old,\n pageIndex,\n }\n })\n },\n resetPageIndex: defaultState => {\n instance.setPageIndex(\n defaultState\n ? defaultPageIndex\n : instance.initialState?.pagination?.pageIndex ?? defaultPageIndex\n )\n },\n resetPageSize: defaultState => {\n instance.setPageSize(\n defaultState\n ? defaultPageSize\n : instance.initialState?.pagination?.pageSize ?? defaultPageSize\n )\n },\n setPageSize: updater => {\n instance.setPagination(old => {\n const pageSize = Math.max(1, functionalUpdate(updater, old.pageSize))\n const topRowIndex = old.pageSize * old.pageIndex!\n const pageIndex = Math.floor(topRowIndex / pageSize)\n\n return {\n ...old,\n pageIndex,\n pageSize,\n }\n })\n },\n setPageCount: updater =>\n instance.setPagination(old => {\n let newPageCount = functionalUpdate(updater, old.pageCount ?? -1)\n\n if (typeof newPageCount === 'number') {\n newPageCount = Math.max(-1, newPageCount)\n }\n\n return {\n ...old,\n pageCount: newPageCount,\n }\n }),\n\n getPageOptions: memo(\n () => [\n instance.getState().pagination.pageSize,\n instance.getState().pagination.pageCount,\n ],\n (pageSize, pageCount) => {\n let pageOptions: number[] = []\n if (pageCount && pageCount > 0) {\n pageOptions = [...new Array(pageCount)].fill(null).map((_, i) => i)\n }\n return pageOptions\n },\n {\n key: process.env.NODE_ENV === 'development' && 'getPageOptions',\n debug: () => instance.options.debugAll ?? instance.options.debugTable,\n }\n ),\n\n getCanPreviousPage: () => instance.getState().pagination.pageIndex > 0,\n\n getCanNextPage: () => {\n const { pageIndex } = instance.getState().pagination\n\n const pageCount = instance.getPageCount()\n\n if (pageCount === -1) {\n return true\n }\n\n if (pageCount === 0) {\n return false\n }\n\n return pageIndex < pageCount - 1\n },\n\n previousPage: () => {\n return instance.setPageIndex(old => old - 1)\n },\n\n nextPage: () => {\n return instance.setPageIndex(old => {\n return old + 1\n })\n },\n\n getPrePaginationRowModel: () => instance.getExpandedRowModel(),\n getPaginationRowModel: () => {\n if (\n !instance._getPaginationRowModel &&\n instance.options.getPaginationRowModel\n ) {\n instance._getPaginationRowModel =\n instance.options.getPaginationRowModel(instance)\n }\n\n if (\n instance.options.manualPagination ||\n !instance._getPaginationRowModel\n ) {\n return instance.getPrePaginationRowModel()\n }\n\n return instance._getPaginationRowModel()\n },\n\n getPageCount: () => {\n const { pageCount } = instance.getState().pagination\n\n if (typeof pageCount !== 'undefined') {\n return pageCount\n }\n\n return Math.ceil(\n instance.getPrePaginationRowModel().rows.length /\n instance.getState().pagination.pageSize\n )\n },\n }\n },\n}\n"],"names":["defaultPageIndex","defaultPageSize","getDefaultPaginationState","pageIndex","pageSize","Pagination","getInitialState","state","pagination","getDefaultOptions","instance","onPaginationChange","makeStateUpdater","autoResetPageIndex","createInstance","registered","queued","_autoResetPageIndex","queue","options","autoResetAll","resetPageIndex","setPagination","updater","safeUpdater","old","newState","functionalUpdate","resetPagination","defaultState","initialState","setPageIndex","maxPageIndex","pageCount","Number","MAX_SAFE_INTEGER","Math","min","max","resetPageSize","setPageSize","topRowIndex","floor","setPageCount","newPageCount","getPageOptions","memo","getState","pageOptions","Array","fill","map","_","i","key","process","env","NODE_ENV","debug","debugAll","debugTable","getCanPreviousPage","getCanNextPage","getPageCount","previousPage","nextPage","getPrePaginationRowModel","getExpandedRowModel","getPaginationRowModel","_getPaginationRowModel","manualPagination","ceil","rows","length"],"mappings":"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"}
{"version":3,"file":"Pagination.js","sources":["../../../src/features/Pagination.ts"],"sourcesContent":["import {\n OnChangeFn,\n TableGenerics,\n TableInstance,\n RowModel,\n Updater,\n TableFeature,\n} from '../types'\nimport { functionalUpdate, makeStateUpdater, memo } from '../utils'\n\nexport type PaginationState = {\n pageIndex: number\n pageSize: number\n pageCount?: number\n}\n\nexport type PaginationTableState = {\n pagination: PaginationState\n}\n\nexport type PaginationInitialTableState = {\n pagination?: Partial<PaginationState>\n}\n\nexport type PaginationOptions<TGenerics extends TableGenerics> = {\n manualPagination?: boolean\n onPaginationChange?: OnChangeFn<PaginationState>\n autoResetPageIndex?: boolean\n getPaginationRowModel?: (\n instance: TableInstance<TGenerics>\n ) => () => RowModel<TGenerics>\n}\n\nexport type PaginationDefaultOptions = {\n onPaginationChange: OnChangeFn<PaginationState>\n}\n\nexport type PaginationInstance<TGenerics extends TableGenerics> = {\n _autoResetPageIndex: () => void\n setPagination: (updater: Updater<PaginationState>) => void\n resetPagination: (defaultState?: boolean) => void\n setPageIndex: (updater: Updater<number>) => void\n resetPageIndex: (defaultState?: boolean) => void\n setPageSize: (updater: Updater<number>) => void\n resetPageSize: (defaultState?: boolean) => void\n setPageCount: (updater: Updater<number>) => void\n getPageOptions: () => number[]\n getCanPreviousPage: () => boolean\n getCanNextPage: () => boolean\n previousPage: () => void\n nextPage: () => void\n getPrePaginationRowModel: () => RowModel<TGenerics>\n getPaginationRowModel: () => RowModel<TGenerics>\n _getPaginationRowModel?: () => RowModel<TGenerics>\n getPageCount: () => number\n}\n\n//\n\nconst defaultPageIndex = 0\nconst defaultPageSize = 10\n\nconst getDefaultPaginationState = (): PaginationState => ({\n pageIndex: defaultPageIndex,\n pageSize: defaultPageSize,\n})\n\nexport const Pagination: TableFeature = {\n getInitialState: (state): PaginationTableState => {\n return {\n ...state,\n pagination: {\n ...getDefaultPaginationState(),\n ...state?.pagination,\n },\n }\n },\n\n getDefaultOptions: <TGenerics extends TableGenerics>(\n instance: TableInstance<TGenerics>\n ): PaginationDefaultOptions => {\n return {\n onPaginationChange: makeStateUpdater('pagination', instance),\n }\n },\n\n createInstance: <TGenerics extends TableGenerics>(\n instance: TableInstance<TGenerics>\n ): PaginationInstance<TGenerics> => {\n let registered = false\n let queued = false\n\n return {\n _autoResetPageIndex: () => {\n if (!registered) {\n instance._queue(() => {\n registered = true\n })\n return\n }\n\n if (\n instance.options.autoResetAll ??\n instance.options.autoResetPageIndex ??\n !instance.options.manualPagination\n ) {\n if (queued) return\n queued = true\n instance._queue(() => {\n instance.resetPageIndex()\n queued = false\n })\n }\n },\n setPagination: updater => {\n const safeUpdater: Updater<PaginationState> = old => {\n let newState = functionalUpdate(updater, old)\n\n return newState\n }\n\n return instance.options.onPaginationChange?.(safeUpdater)\n },\n resetPagination: defaultState => {\n instance.setPagination(\n defaultState\n ? getDefaultPaginationState()\n : instance.initialState.pagination ?? getDefaultPaginationState()\n )\n },\n setPageIndex: updater => {\n instance.setPagination(old => {\n let pageIndex = functionalUpdate(updater, old.pageIndex)\n\n const maxPageIndex =\n typeof old.pageCount !== 'undefined'\n ? old.pageCount - 1\n : Number.MAX_SAFE_INTEGER\n\n pageIndex = Math.min(Math.max(0, pageIndex), maxPageIndex)\n\n return {\n ...old,\n pageIndex,\n }\n })\n },\n resetPageIndex: defaultState => {\n instance.setPageIndex(\n defaultState\n ? defaultPageIndex\n : instance.initialState?.pagination?.pageIndex ?? defaultPageIndex\n )\n },\n resetPageSize: defaultState => {\n instance.setPageSize(\n defaultState\n ? defaultPageSize\n : instance.initialState?.pagination?.pageSize ?? defaultPageSize\n )\n },\n setPageSize: updater => {\n instance.setPagination(old => {\n const pageSize = Math.max(1, functionalUpdate(updater, old.pageSize))\n const topRowIndex = old.pageSize * old.pageIndex!\n const pageIndex = Math.floor(topRowIndex / pageSize)\n\n return {\n ...old,\n pageIndex,\n pageSize,\n }\n })\n },\n setPageCount: updater =>\n instance.setPagination(old => {\n let newPageCount = functionalUpdate(updater, old.pageCount ?? -1)\n\n if (typeof newPageCount === 'number') {\n newPageCount = Math.max(-1, newPageCount)\n }\n\n return {\n ...old,\n pageCount: newPageCount,\n }\n }),\n\n getPageOptions: memo(\n () => [\n instance.getState().pagination.pageSize,\n instance.getState().pagination.pageCount,\n ],\n (pageSize, pageCount) => {\n let pageOptions: number[] = []\n if (pageCount && pageCount > 0) {\n pageOptions = [...new Array(pageCount)].fill(null).map((_, i) => i)\n }\n return pageOptions\n },\n {\n key: process.env.NODE_ENV === 'development' && 'getPageOptions',\n debug: () => instance.options.debugAll ?? instance.options.debugTable,\n }\n ),\n\n getCanPreviousPage: () => instance.getState().pagination.pageIndex > 0,\n\n getCanNextPage: () => {\n const { pageIndex } = instance.getState().pagination\n\n const pageCount = instance.getPageCount()\n\n if (pageCount === -1) {\n return true\n }\n\n if (pageCount === 0) {\n return false\n }\n\n return pageIndex < pageCount - 1\n },\n\n previousPage: () => {\n return instance.setPageIndex(old => old - 1)\n },\n\n nextPage: () => {\n return instance.setPageIndex(old => {\n return old + 1\n })\n },\n\n getPrePaginationRowModel: () => instance.getExpandedRowModel(),\n getPaginationRowModel: () => {\n if (\n !instance._getPaginationRowModel &&\n instance.options.getPaginationRowModel\n ) {\n instance._getPaginationRowModel =\n instance.options.getPaginationRowModel(instance)\n }\n\n if (\n instance.options.manualPagination ||\n !instance._getPaginationRowModel\n ) {\n return instance.getPrePaginationRowModel()\n }\n\n return instance._getPaginationRowModel()\n },\n\n getPageCount: () => {\n const { pageCount } = instance.getState().pagination\n\n if (typeof pageCount !== 'undefined') {\n return pageCount\n }\n\n return Math.ceil(\n instance.getPrePaginationRowModel().rows.length /\n instance.getState().pagination.pageSize\n )\n },\n }\n },\n}\n"],"names":["defaultPageIndex","defaultPageSize","getDefaultPaginationState","pageIndex","pageSize","Pagination","getInitialState","state","pagination","getDefaultOptions","instance","onPaginationChange","makeStateUpdater","createInstance","registered","queued","_autoResetPageIndex","_queue","options","autoResetAll","autoResetPageIndex","manualPagination","resetPageIndex","setPagination","updater","safeUpdater","old","newState","functionalUpdate","resetPagination","defaultState","initialState","setPageIndex","maxPageIndex","pageCount","Number","MAX_SAFE_INTEGER","Math","min","max","resetPageSize","setPageSize","topRowIndex","floor","setPageCount","newPageCount","getPageOptions","memo","getState","pageOptions","Array","fill","map","_","i","key","process","env","NODE_ENV","debug","debugAll","debugTable","getCanPreviousPage","getCanNextPage","getPageCount","previousPage","nextPage","getPrePaginationRowModel","getExpandedRowModel","getPaginationRowModel","_getPaginationRowModel","ceil","rows","length"],"mappings":"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"}

@@ -142,3 +142,3 @@ /**

onChange: () => {
instance.queue(() => {
instance._queue(() => {
instance._autoResetExpanded();

@@ -145,0 +145,0 @@

@@ -1,1 +0,1 @@

{"version":3,"file":"getGroupedRowModel.js","sources":["../../../src/utils/getGroupedRowModel.ts"],"sourcesContent":["import { CoreRow } from '../features/Rows'\nimport { TableInstance, Row, RowModel, TableGenerics } from '../types'\nimport { flattenBy, memo } from '../utils'\n\nexport function getGroupedRowModel<TGenerics extends TableGenerics>(): (\n instance: TableInstance<TGenerics>\n) => () => RowModel<TGenerics> {\n return instance =>\n memo(\n () => [instance.getState().grouping, instance.getPreGroupedRowModel()],\n (grouping, rowModel) => {\n if (!rowModel.rows.length || !grouping.length) {\n return rowModel\n }\n\n // Filter the grouping list down to columns that exist\n const existingGrouping = grouping.filter(columnId =>\n instance.getColumn(columnId)\n )\n\n const groupedFlatRows: Row<TGenerics>[] = []\n const groupedRowsById: Record<string, Row<TGenerics>> = {}\n // const onlyGroupedFlatRows: Row[] = [];\n // const onlyGroupedRowsById: Record<RowId, Row> = {};\n // const nonGroupedFlatRows: Row[] = [];\n // const nonGroupedRowsById: Record<RowId, Row> = {};\n\n // Recursively group the data\n const groupUpRecursively = (\n rows: Row<TGenerics>[],\n depth = 0,\n parentId: string\n ) => {\n // This is the last level, just return the rows\n if (depth === existingGrouping.length) {\n return rows\n }\n\n const columnId = existingGrouping[depth]!\n\n // Group the rows together for this level\n const rowGroupsMap = groupBy(rows, columnId)\n\n // Peform aggregations for each group\n const aggregatedGroupedRows = Array.from(rowGroupsMap.entries()).map(\n ([groupingValue, groupedRows], index) => {\n let id = `${columnId}:${groupingValue}`\n id = parentId ? `${parentId}>${id}` : id\n\n // First, Recurse to group sub rows before aggregation\n const subRows = groupUpRecursively(groupedRows, depth + 1, id)\n\n // Flatten the leaf rows of the rows in this group\n const leafRows = depth\n ? flattenBy(groupedRows, row => row.subRows)\n : groupedRows\n\n const row = instance.createRow(id, undefined, index, depth)\n\n Object.assign(row, {\n groupingColumnId: columnId,\n groupingValue,\n subRows,\n leafRows,\n getValue: (columnId: string) => {\n // Don't aggregate columns that are in the grouping\n if (existingGrouping.includes(columnId)) {\n if (row.valuesCache.hasOwnProperty(columnId)) {\n return row.valuesCache[columnId]\n }\n\n if (groupedRows[0]) {\n row.valuesCache[columnId] =\n groupedRows[0].getValue(columnId) ?? undefined\n }\n\n return row.valuesCache[columnId]\n }\n\n if (row.groupingValuesCache.hasOwnProperty(columnId)) {\n return row.groupingValuesCache[columnId]\n }\n\n // Aggregate the values\n const column = instance.getColumn(columnId)\n const aggregateFn = column.getColumnAggregationFn()\n\n if (aggregateFn) {\n row.groupingValuesCache[columnId] = aggregateFn(\n () =>\n leafRows.map(row => {\n let columnValue = row.getValue(columnId)\n\n if (!depth && column.aggregateValue) {\n columnValue = column.aggregateValue(columnValue)\n }\n\n return columnValue\n }),\n () => groupedRows.map(row => row.getValue(columnId))\n )\n\n return row.groupingValuesCache[columnId]\n } else if (column.aggregationFn) {\n console.info({ column })\n throw new Error(\n process.env.NODE_ENV !== 'production'\n ? `Table: Invalid column.aggregateType option for column listed above`\n : ''\n )\n }\n },\n })\n\n subRows.forEach(subRow => {\n groupedFlatRows.push(subRow)\n groupedRowsById[subRow.id] = subRow\n // if (subRow.getIsGrouped?.()) {\n // onlyGroupedFlatRows.push(subRow);\n // onlyGroupedRowsById[subRow.id] = subRow;\n // } else {\n // nonGroupedFlatRows.push(subRow);\n // nonGroupedRowsById[subRow.id] = subRow;\n // }\n })\n\n return row\n }\n )\n\n return aggregatedGroupedRows\n }\n\n const groupedRows = groupUpRecursively(rowModel.rows, 0, '')\n\n groupedRows.forEach(subRow => {\n groupedFlatRows.push(subRow)\n groupedRowsById[subRow.id] = subRow\n // if (subRow.getIsGrouped?.()) {\n // onlyGroupedFlatRows.push(subRow);\n // onlyGroupedRowsById[subRow.id] = subRow;\n // } else {\n // nonGroupedFlatRows.push(subRow);\n // nonGroupedRowsById[subRow.id] = subRow;\n // }\n })\n\n return {\n rows: groupedRows,\n flatRows: groupedFlatRows,\n rowsById: groupedRowsById,\n }\n },\n {\n key: process.env.NODE_ENV === 'development' && 'getGroupedRowModel',\n debug: () => instance.options.debugAll ?? instance.options.debugTable,\n onChange: () => {\n instance.queue(() => {\n instance._autoResetExpanded()\n instance._autoResetPageIndex()\n })\n },\n }\n )\n}\n\nfunction groupBy<TGenerics extends TableGenerics>(\n rows: Row<TGenerics>[],\n columnId: string\n) {\n const groupMap = new Map<any, Row<TGenerics>[]>()\n\n return rows.reduce((map, row) => {\n const resKey = `${row.getValue(columnId)}`\n const previous = map.get(resKey)\n if (!previous) {\n map.set(resKey, [row])\n } else {\n map.set(resKey, [...previous, row])\n }\n return map\n }, groupMap)\n}\n"],"names":["getGroupedRowModel","instance","memo","getState","grouping","getPreGroupedRowModel","rowModel","rows","length","existingGrouping","filter","columnId","getColumn","groupedFlatRows","groupedRowsById","groupUpRecursively","depth","parentId","rowGroupsMap","groupBy","aggregatedGroupedRows","Array","from","entries","map","index","groupingValue","groupedRows","id","subRows","leafRows","flattenBy","row","createRow","undefined","Object","assign","groupingColumnId","getValue","includes","valuesCache","hasOwnProperty","groupingValuesCache","column","aggregateFn","getColumnAggregationFn","columnValue","aggregateValue","aggregationFn","console","info","Error","process","env","NODE_ENV","forEach","subRow","push","flatRows","rowsById","key","debug","options","debugAll","debugTable","onChange","queue","_autoResetExpanded","_autoResetPageIndex","groupMap","Map","reduce","resKey","previous","get","set"],"mappings":"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"}
{"version":3,"file":"getGroupedRowModel.js","sources":["../../../src/utils/getGroupedRowModel.ts"],"sourcesContent":["import { CoreRow } from '../features/Rows'\nimport { TableInstance, Row, RowModel, TableGenerics } from '../types'\nimport { flattenBy, memo } from '../utils'\n\nexport function getGroupedRowModel<TGenerics extends TableGenerics>(): (\n instance: TableInstance<TGenerics>\n) => () => RowModel<TGenerics> {\n return instance =>\n memo(\n () => [instance.getState().grouping, instance.getPreGroupedRowModel()],\n (grouping, rowModel) => {\n if (!rowModel.rows.length || !grouping.length) {\n return rowModel\n }\n\n // Filter the grouping list down to columns that exist\n const existingGrouping = grouping.filter(columnId =>\n instance.getColumn(columnId)\n )\n\n const groupedFlatRows: Row<TGenerics>[] = []\n const groupedRowsById: Record<string, Row<TGenerics>> = {}\n // const onlyGroupedFlatRows: Row[] = [];\n // const onlyGroupedRowsById: Record<RowId, Row> = {};\n // const nonGroupedFlatRows: Row[] = [];\n // const nonGroupedRowsById: Record<RowId, Row> = {};\n\n // Recursively group the data\n const groupUpRecursively = (\n rows: Row<TGenerics>[],\n depth = 0,\n parentId: string\n ) => {\n // This is the last level, just return the rows\n if (depth === existingGrouping.length) {\n return rows\n }\n\n const columnId = existingGrouping[depth]!\n\n // Group the rows together for this level\n const rowGroupsMap = groupBy(rows, columnId)\n\n // Peform aggregations for each group\n const aggregatedGroupedRows = Array.from(rowGroupsMap.entries()).map(\n ([groupingValue, groupedRows], index) => {\n let id = `${columnId}:${groupingValue}`\n id = parentId ? `${parentId}>${id}` : id\n\n // First, Recurse to group sub rows before aggregation\n const subRows = groupUpRecursively(groupedRows, depth + 1, id)\n\n // Flatten the leaf rows of the rows in this group\n const leafRows = depth\n ? flattenBy(groupedRows, row => row.subRows)\n : groupedRows\n\n const row = instance.createRow(id, undefined, index, depth)\n\n Object.assign(row, {\n groupingColumnId: columnId,\n groupingValue,\n subRows,\n leafRows,\n getValue: (columnId: string) => {\n // Don't aggregate columns that are in the grouping\n if (existingGrouping.includes(columnId)) {\n if (row.valuesCache.hasOwnProperty(columnId)) {\n return row.valuesCache[columnId]\n }\n\n if (groupedRows[0]) {\n row.valuesCache[columnId] =\n groupedRows[0].getValue(columnId) ?? undefined\n }\n\n return row.valuesCache[columnId]\n }\n\n if (row.groupingValuesCache.hasOwnProperty(columnId)) {\n return row.groupingValuesCache[columnId]\n }\n\n // Aggregate the values\n const column = instance.getColumn(columnId)\n const aggregateFn = column.getColumnAggregationFn()\n\n if (aggregateFn) {\n row.groupingValuesCache[columnId] = aggregateFn(\n () =>\n leafRows.map(row => {\n let columnValue = row.getValue(columnId)\n\n if (!depth && column.aggregateValue) {\n columnValue = column.aggregateValue(columnValue)\n }\n\n return columnValue\n }),\n () => groupedRows.map(row => row.getValue(columnId))\n )\n\n return row.groupingValuesCache[columnId]\n } else if (column.aggregationFn) {\n console.info({ column })\n throw new Error(\n process.env.NODE_ENV !== 'production'\n ? `Table: Invalid column.aggregateType option for column listed above`\n : ''\n )\n }\n },\n })\n\n subRows.forEach(subRow => {\n groupedFlatRows.push(subRow)\n groupedRowsById[subRow.id] = subRow\n // if (subRow.getIsGrouped?.()) {\n // onlyGroupedFlatRows.push(subRow);\n // onlyGroupedRowsById[subRow.id] = subRow;\n // } else {\n // nonGroupedFlatRows.push(subRow);\n // nonGroupedRowsById[subRow.id] = subRow;\n // }\n })\n\n return row\n }\n )\n\n return aggregatedGroupedRows\n }\n\n const groupedRows = groupUpRecursively(rowModel.rows, 0, '')\n\n groupedRows.forEach(subRow => {\n groupedFlatRows.push(subRow)\n groupedRowsById[subRow.id] = subRow\n // if (subRow.getIsGrouped?.()) {\n // onlyGroupedFlatRows.push(subRow);\n // onlyGroupedRowsById[subRow.id] = subRow;\n // } else {\n // nonGroupedFlatRows.push(subRow);\n // nonGroupedRowsById[subRow.id] = subRow;\n // }\n })\n\n return {\n rows: groupedRows,\n flatRows: groupedFlatRows,\n rowsById: groupedRowsById,\n }\n },\n {\n key: process.env.NODE_ENV === 'development' && 'getGroupedRowModel',\n debug: () => instance.options.debugAll ?? instance.options.debugTable,\n onChange: () => {\n instance._queue(() => {\n instance._autoResetExpanded()\n instance._autoResetPageIndex()\n })\n },\n }\n )\n}\n\nfunction groupBy<TGenerics extends TableGenerics>(\n rows: Row<TGenerics>[],\n columnId: string\n) {\n const groupMap = new Map<any, Row<TGenerics>[]>()\n\n return rows.reduce((map, row) => {\n const resKey = `${row.getValue(columnId)}`\n const previous = map.get(resKey)\n if (!previous) {\n map.set(resKey, [row])\n } else {\n map.set(resKey, [...previous, row])\n }\n return map\n }, groupMap)\n}\n"],"names":["getGroupedRowModel","instance","memo","getState","grouping","getPreGroupedRowModel","rowModel","rows","length","existingGrouping","filter","columnId","getColumn","groupedFlatRows","groupedRowsById","groupUpRecursively","depth","parentId","rowGroupsMap","groupBy","aggregatedGroupedRows","Array","from","entries","map","index","groupingValue","groupedRows","id","subRows","leafRows","flattenBy","row","createRow","undefined","Object","assign","groupingColumnId","getValue","includes","valuesCache","hasOwnProperty","groupingValuesCache","column","aggregateFn","getColumnAggregationFn","columnValue","aggregateValue","aggregationFn","console","info","Error","process","env","NODE_ENV","forEach","subRow","push","flatRows","rowsById","key","debug","options","debugAll","debugTable","onChange","_queue","_autoResetExpanded","_autoResetPageIndex","groupMap","Map","reduce","resKey","previous","get","set"],"mappings":"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"}

@@ -13,3 +13,3 @@ {

{
"uid": "540e-64",
"uid": "1ed1-64",
"name": "utils.ts"

@@ -21,55 +21,55 @@ },

{
"uid": "540e-66",
"uid": "1ed1-66",
"name": "Columns.ts"
},
{
"uid": "540e-68",
"uid": "1ed1-68",
"name": "Rows.ts"
},
{
"uid": "540e-70",
"uid": "1ed1-70",
"name": "Cells.ts"
},
{
"uid": "540e-72",
"uid": "1ed1-72",
"name": "ColumnSizing.ts"
},
{
"uid": "540e-74",
"uid": "1ed1-74",
"name": "Expanding.ts"
},
{
"uid": "540e-78",
"uid": "1ed1-78",
"name": "Filters.ts"
},
{
"uid": "540e-82",
"uid": "1ed1-82",
"name": "Grouping.ts"
},
{
"uid": "540e-84",
"uid": "1ed1-84",
"name": "Ordering.ts"
},
{
"uid": "540e-86",
"uid": "1ed1-86",
"name": "Pagination.ts"
},
{
"uid": "540e-88",
"uid": "1ed1-88",
"name": "Pinning.ts"
},
{
"uid": "540e-90",
"uid": "1ed1-90",
"name": "RowSelection.ts"
},
{
"uid": "540e-94",
"uid": "1ed1-94",
"name": "Sorting.ts"
},
{
"uid": "540e-96",
"uid": "1ed1-96",
"name": "Visibility.ts"
},
{
"uid": "540e-98",
"uid": "1ed1-98",
"name": "Headers.ts"

@@ -80,19 +80,19 @@ }

{
"uid": "540e-76",
"uid": "1ed1-76",
"name": "filterFns.ts"
},
{
"uid": "540e-80",
"uid": "1ed1-80",
"name": "aggregationFns.ts"
},
{
"uid": "540e-92",
"uid": "1ed1-92",
"name": "sortingFns.ts"
},
{
"uid": "540e-100",
"uid": "1ed1-100",
"name": "core.ts"
},
{
"uid": "540e-102",
"uid": "1ed1-102",
"name": "createTable.ts"

@@ -104,39 +104,39 @@ },

{
"uid": "540e-104",
"uid": "1ed1-104",
"name": "getCoreRowModel.ts"
},
{
"uid": "540e-106",
"uid": "1ed1-106",
"name": "filterRowsUtils.ts"
},
{
"uid": "540e-108",
"uid": "1ed1-108",
"name": "getFilteredRowModel.ts"
},
{
"uid": "540e-110",
"uid": "1ed1-110",
"name": "getFacetedRowModel.ts"
},
{
"uid": "540e-112",
"uid": "1ed1-112",
"name": "getFacetedUniqueValues.ts"
},
{
"uid": "540e-114",
"uid": "1ed1-114",
"name": "getFacetedMinMaxValues.ts"
},
{
"uid": "540e-116",
"uid": "1ed1-116",
"name": "getSortedRowModel.ts"
},
{
"uid": "540e-118",
"uid": "1ed1-118",
"name": "getGroupedRowModel.ts"
},
{
"uid": "540e-120",
"uid": "1ed1-120",
"name": "getExpandedRowModel.ts"
},
{
"uid": "540e-122",
"uid": "1ed1-122",
"name": "getPaginationRowModel.ts"

@@ -147,3 +147,3 @@ }

{
"uid": "540e-124",
"uid": "1ed1-124",
"name": "index.ts"

@@ -159,194 +159,194 @@ }

"nodeParts": {
"540e-64": {
"1ed1-64": {
"renderedLength": 2201,
"gzipLength": 800,
"brotliLength": 0,
"mainUid": "540e-63"
"mainUid": "1ed1-63"
},
"540e-66": {
"1ed1-66": {
"renderedLength": 6485,
"gzipLength": 1337,
"brotliLength": 0,
"mainUid": "540e-65"
"mainUid": "1ed1-65"
},
"540e-68": {
"1ed1-68": {
"renderedLength": 2312,
"gzipLength": 753,
"brotliLength": 0,
"mainUid": "540e-67"
"mainUid": "1ed1-67"
},
"540e-70": {
"renderedLength": 2169,
"gzipLength": 627,
"1ed1-70": {
"renderedLength": 2170,
"gzipLength": 628,
"brotliLength": 0,
"mainUid": "540e-69"
"mainUid": "1ed1-69"
},
"540e-72": {
"1ed1-72": {
"renderedLength": 9977,
"gzipLength": 2210,
"brotliLength": 0,
"mainUid": "540e-71"
"mainUid": "1ed1-71"
},
"540e-74": {
"renderedLength": 5682,
"gzipLength": 1309,
"1ed1-74": {
"renderedLength": 5686,
"gzipLength": 1314,
"brotliLength": 0,
"mainUid": "540e-73"
"mainUid": "1ed1-73"
},
"540e-76": {
"1ed1-76": {
"renderedLength": 2743,
"gzipLength": 666,
"brotliLength": 0,
"mainUid": "540e-75"
"mainUid": "1ed1-75"
},
"540e-78": {
"1ed1-78": {
"renderedLength": 10222,
"gzipLength": 1895,
"brotliLength": 0,
"mainUid": "540e-77"
"mainUid": "1ed1-77"
},
"540e-80": {
"1ed1-80": {
"renderedLength": 2146,
"gzipLength": 642,
"brotliLength": 0,
"mainUid": "540e-79"
"mainUid": "1ed1-79"
},
"540e-82": {
"renderedLength": 5311,
"1ed1-82": {
"renderedLength": 5312,
"gzipLength": 1351,
"brotliLength": 0,
"mainUid": "540e-81"
"mainUid": "1ed1-81"
},
"540e-84": {
"1ed1-84": {
"renderedLength": 2231,
"gzipLength": 767,
"brotliLength": 0,
"mainUid": "540e-83"
"mainUid": "1ed1-83"
},
"540e-86": {
"renderedLength": 6230,
"gzipLength": 1360,
"1ed1-86": {
"renderedLength": 6265,
"gzipLength": 1382,
"brotliLength": 0,
"mainUid": "540e-85"
"mainUid": "1ed1-85"
},
"540e-88": {
"1ed1-88": {
"renderedLength": 7888,
"gzipLength": 1365,
"brotliLength": 0,
"mainUid": "540e-87"
"mainUid": "1ed1-87"
},
"540e-90": {
"1ed1-90": {
"renderedLength": 12833,
"gzipLength": 2446,
"brotliLength": 0,
"mainUid": "540e-89"
"mainUid": "1ed1-89"
},
"540e-92": {
"1ed1-92": {
"renderedLength": 2712,
"gzipLength": 830,
"brotliLength": 0,
"mainUid": "540e-91"
"mainUid": "1ed1-91"
},
"540e-94": {
"1ed1-94": {
"renderedLength": 8530,
"gzipLength": 2017,
"brotliLength": 0,
"mainUid": "540e-93"
"mainUid": "1ed1-93"
},
"540e-96": {
"1ed1-96": {
"renderedLength": 5057,
"gzipLength": 1101,
"brotliLength": 0,
"mainUid": "540e-95"
"mainUid": "1ed1-95"
},
"540e-98": {
"renderedLength": 16052,
"1ed1-98": {
"renderedLength": 16054,
"gzipLength": 2629,
"brotliLength": 0,
"mainUid": "540e-97"
"mainUid": "1ed1-97"
},
"540e-100": {
"renderedLength": 7030,
"gzipLength": 1872,
"1ed1-100": {
"renderedLength": 7032,
"gzipLength": 1875,
"brotliLength": 0,
"mainUid": "540e-99"
"mainUid": "1ed1-99"
},
"540e-102": {
"1ed1-102": {
"renderedLength": 1457,
"gzipLength": 527,
"brotliLength": 0,
"mainUid": "540e-101"
"mainUid": "1ed1-101"
},
"540e-104": {
"1ed1-104": {
"renderedLength": 2153,
"gzipLength": 754,
"brotliLength": 0,
"mainUid": "540e-103"
"mainUid": "1ed1-103"
},
"540e-106": {
"1ed1-106": {
"renderedLength": 2626,
"gzipLength": 639,
"brotliLength": 0,
"mainUid": "540e-105"
"mainUid": "1ed1-105"
},
"540e-108": {
"1ed1-108": {
"renderedLength": 3734,
"gzipLength": 1048,
"brotliLength": 0,
"mainUid": "540e-107"
"mainUid": "1ed1-107"
},
"540e-110": {
"1ed1-110": {
"renderedLength": 1209,
"gzipLength": 506,
"brotliLength": 0,
"mainUid": "540e-109"
"mainUid": "1ed1-109"
},
"540e-112": {
"1ed1-112": {
"renderedLength": 1068,
"gzipLength": 422,
"brotliLength": 0,
"mainUid": "540e-111"
"mainUid": "1ed1-111"
},
"540e-114": {
"1ed1-114": {
"renderedLength": 1238,
"gzipLength": 443,
"brotliLength": 0,
"mainUid": "540e-113"
"mainUid": "1ed1-113"
},
"540e-116": {
"1ed1-116": {
"renderedLength": 3098,
"gzipLength": 1007,
"brotliLength": 0,
"mainUid": "540e-115"
"mainUid": "1ed1-115"
},
"540e-118": {
"renderedLength": 5412,
"1ed1-118": {
"renderedLength": 5413,
"gzipLength": 1484,
"brotliLength": 0,
"mainUid": "540e-117"
"mainUid": "1ed1-117"
},
"540e-120": {
"1ed1-120": {
"renderedLength": 1265,
"gzipLength": 498,
"brotliLength": 0,
"mainUid": "540e-119"
"mainUid": "1ed1-119"
},
"540e-122": {
"1ed1-122": {
"renderedLength": 1030,
"gzipLength": 396,
"brotliLength": 0,
"mainUid": "540e-121"
"mainUid": "1ed1-121"
},
"540e-124": {
"1ed1-124": {
"renderedLength": 0,
"gzipLength": 0,
"brotliLength": 0,
"mainUid": "540e-123"
"mainUid": "1ed1-123"
}
},
"nodeMetas": {
"540e-63": {
"1ed1-63": {
"id": "/packages/table-core/src/utils.ts",
"moduleParts": {
"index.production.js": "540e-64"
"index.production.js": "1ed1-64"
},

@@ -356,86 +356,86 @@ "imported": [],

{
"uid": "540e-123"
"uid": "1ed1-123"
},
{
"uid": "540e-99"
"uid": "1ed1-99"
},
{
"uid": "540e-71"
"uid": "1ed1-71"
},
{
"uid": "540e-73"
"uid": "1ed1-73"
},
{
"uid": "540e-77"
"uid": "1ed1-77"
},
{
"uid": "540e-81"
"uid": "1ed1-81"
},
{
"uid": "540e-97"
"uid": "1ed1-97"
},
{
"uid": "540e-83"
"uid": "1ed1-83"
},
{
"uid": "540e-85"
"uid": "1ed1-85"
},
{
"uid": "540e-87"
"uid": "1ed1-87"
},
{
"uid": "540e-89"
"uid": "1ed1-89"
},
{
"uid": "540e-93"
"uid": "1ed1-93"
},
{
"uid": "540e-95"
"uid": "1ed1-95"
},
{
"uid": "540e-103"
"uid": "1ed1-103"
},
{
"uid": "540e-107"
"uid": "1ed1-107"
},
{
"uid": "540e-109"
"uid": "1ed1-109"
},
{
"uid": "540e-111"
"uid": "1ed1-111"
},
{
"uid": "540e-113"
"uid": "1ed1-113"
},
{
"uid": "540e-115"
"uid": "1ed1-115"
},
{
"uid": "540e-117"
"uid": "1ed1-117"
},
{
"uid": "540e-119"
"uid": "1ed1-119"
},
{
"uid": "540e-121"
"uid": "1ed1-121"
},
{
"uid": "540e-65"
"uid": "1ed1-65"
},
{
"uid": "540e-67"
"uid": "1ed1-67"
},
{
"uid": "540e-69"
"uid": "1ed1-69"
}
]
},
"540e-65": {
"1ed1-65": {
"id": "/packages/table-core/src/features/Columns.ts",
"moduleParts": {
"index.production.js": "540e-66"
"index.production.js": "1ed1-66"
},
"imported": [
{
"uid": "540e-63"
"uid": "1ed1-63"
}

@@ -445,14 +445,14 @@ ],

{
"uid": "540e-99"
"uid": "1ed1-99"
}
]
},
"540e-67": {
"1ed1-67": {
"id": "/packages/table-core/src/features/Rows.ts",
"moduleParts": {
"index.production.js": "540e-68"
"index.production.js": "1ed1-68"
},
"imported": [
{
"uid": "540e-63"
"uid": "1ed1-63"
}

@@ -462,14 +462,14 @@ ],

{
"uid": "540e-99"
"uid": "1ed1-99"
}
]
},
"540e-69": {
"1ed1-69": {
"id": "/packages/table-core/src/features/Cells.ts",
"moduleParts": {
"index.production.js": "540e-70"
"index.production.js": "1ed1-70"
},
"imported": [
{
"uid": "540e-63"
"uid": "1ed1-63"
}

@@ -479,14 +479,14 @@ ],

{
"uid": "540e-99"
"uid": "1ed1-99"
}
]
},
"540e-71": {
"1ed1-71": {
"id": "/packages/table-core/src/features/ColumnSizing.ts",
"moduleParts": {
"index.production.js": "540e-72"
"index.production.js": "1ed1-72"
},
"imported": [
{
"uid": "540e-63"
"uid": "1ed1-63"
}

@@ -496,17 +496,17 @@ ],

{
"uid": "540e-123"
"uid": "1ed1-123"
},
{
"uid": "540e-99"
"uid": "1ed1-99"
}
]
},
"540e-73": {
"1ed1-73": {
"id": "/packages/table-core/src/features/Expanding.ts",
"moduleParts": {
"index.production.js": "540e-74"
"index.production.js": "1ed1-74"
},
"imported": [
{
"uid": "540e-63"
"uid": "1ed1-63"
}

@@ -516,13 +516,13 @@ ],

{
"uid": "540e-123"
"uid": "1ed1-123"
},
{
"uid": "540e-99"
"uid": "1ed1-99"
}
]
},
"540e-75": {
"1ed1-75": {
"id": "/packages/table-core/src/filterFns.ts",
"moduleParts": {
"index.production.js": "540e-76"
"index.production.js": "1ed1-76"
},

@@ -532,17 +532,17 @@ "imported": [],

{
"uid": "540e-77"
"uid": "1ed1-77"
}
]
},
"540e-77": {
"1ed1-77": {
"id": "/packages/table-core/src/features/Filters.ts",
"moduleParts": {
"index.production.js": "540e-78"
"index.production.js": "1ed1-78"
},
"imported": [
{
"uid": "540e-75"
"uid": "1ed1-75"
},
{
"uid": "540e-63"
"uid": "1ed1-63"
}

@@ -552,13 +552,13 @@ ],

{
"uid": "540e-123"
"uid": "1ed1-123"
},
{
"uid": "540e-99"
"uid": "1ed1-99"
}
]
},
"540e-79": {
"1ed1-79": {
"id": "/packages/table-core/src/aggregationFns.ts",
"moduleParts": {
"index.production.js": "540e-80"
"index.production.js": "1ed1-80"
},

@@ -568,17 +568,17 @@ "imported": [],

{
"uid": "540e-81"
"uid": "1ed1-81"
}
]
},
"540e-81": {
"1ed1-81": {
"id": "/packages/table-core/src/features/Grouping.ts",
"moduleParts": {
"index.production.js": "540e-82"
"index.production.js": "1ed1-82"
},
"imported": [
{
"uid": "540e-79"
"uid": "1ed1-79"
},
{
"uid": "540e-63"
"uid": "1ed1-63"
}

@@ -588,23 +588,23 @@ ],

{
"uid": "540e-123"
"uid": "1ed1-123"
},
{
"uid": "540e-99"
"uid": "1ed1-99"
},
{
"uid": "540e-83"
"uid": "1ed1-83"
}
]
},
"540e-83": {
"1ed1-83": {
"id": "/packages/table-core/src/features/Ordering.ts",
"moduleParts": {
"index.production.js": "540e-84"
"index.production.js": "1ed1-84"
},
"imported": [
{
"uid": "540e-63"
"uid": "1ed1-63"
},
{
"uid": "540e-81"
"uid": "1ed1-81"
}

@@ -614,17 +614,17 @@ ],

{
"uid": "540e-123"
"uid": "1ed1-123"
},
{
"uid": "540e-99"
"uid": "1ed1-99"
}
]
},
"540e-85": {
"1ed1-85": {
"id": "/packages/table-core/src/features/Pagination.ts",
"moduleParts": {
"index.production.js": "540e-86"
"index.production.js": "1ed1-86"
},
"imported": [
{
"uid": "540e-63"
"uid": "1ed1-63"
}

@@ -634,17 +634,17 @@ ],

{
"uid": "540e-123"
"uid": "1ed1-123"
},
{
"uid": "540e-99"
"uid": "1ed1-99"
}
]
},
"540e-87": {
"1ed1-87": {
"id": "/packages/table-core/src/features/Pinning.ts",
"moduleParts": {
"index.production.js": "540e-88"
"index.production.js": "1ed1-88"
},
"imported": [
{
"uid": "540e-63"
"uid": "1ed1-63"
}

@@ -654,17 +654,17 @@ ],

{
"uid": "540e-123"
"uid": "1ed1-123"
},
{
"uid": "540e-99"
"uid": "1ed1-99"
}
]
},
"540e-89": {
"1ed1-89": {
"id": "/packages/table-core/src/features/RowSelection.ts",
"moduleParts": {
"index.production.js": "540e-90"
"index.production.js": "1ed1-90"
},
"imported": [
{
"uid": "540e-63"
"uid": "1ed1-63"
}

@@ -674,13 +674,13 @@ ],

{
"uid": "540e-123"
"uid": "1ed1-123"
},
{
"uid": "540e-99"
"uid": "1ed1-99"
}
]
},
"540e-91": {
"1ed1-91": {
"id": "/packages/table-core/src/sortingFns.ts",
"moduleParts": {
"index.production.js": "540e-92"
"index.production.js": "1ed1-92"
},

@@ -690,17 +690,17 @@ "imported": [],

{
"uid": "540e-93"
"uid": "1ed1-93"
}
]
},
"540e-93": {
"1ed1-93": {
"id": "/packages/table-core/src/features/Sorting.ts",
"moduleParts": {
"index.production.js": "540e-94"
"index.production.js": "1ed1-94"
},
"imported": [
{
"uid": "540e-91"
"uid": "1ed1-91"
},
{
"uid": "540e-63"
"uid": "1ed1-63"
}

@@ -710,17 +710,17 @@ ],

{
"uid": "540e-123"
"uid": "1ed1-123"
},
{
"uid": "540e-99"
"uid": "1ed1-99"
}
]
},
"540e-95": {
"1ed1-95": {
"id": "/packages/table-core/src/features/Visibility.ts",
"moduleParts": {
"index.production.js": "540e-96"
"index.production.js": "1ed1-96"
},
"imported": [
{
"uid": "540e-63"
"uid": "1ed1-63"
}

@@ -730,17 +730,17 @@ ],

{
"uid": "540e-123"
"uid": "1ed1-123"
},
{
"uid": "540e-99"
"uid": "1ed1-99"
}
]
},
"540e-97": {
"1ed1-97": {
"id": "/packages/table-core/src/features/Headers.ts",
"moduleParts": {
"index.production.js": "540e-98"
"index.production.js": "1ed1-98"
},
"imported": [
{
"uid": "540e-63"
"uid": "1ed1-63"
}

@@ -750,59 +750,59 @@ ],

{
"uid": "540e-123"
"uid": "1ed1-123"
},
{
"uid": "540e-99"
"uid": "1ed1-99"
}
]
},
"540e-99": {
"1ed1-99": {
"id": "/packages/table-core/src/core.ts",
"moduleParts": {
"index.production.js": "540e-100"
"index.production.js": "1ed1-100"
},
"imported": [
{
"uid": "540e-63"
"uid": "1ed1-63"
},
{
"uid": "540e-65"
"uid": "1ed1-65"
},
{
"uid": "540e-67"
"uid": "1ed1-67"
},
{
"uid": "540e-69"
"uid": "1ed1-69"
},
{
"uid": "540e-71"
"uid": "1ed1-71"
},
{
"uid": "540e-73"
"uid": "1ed1-73"
},
{
"uid": "540e-77"
"uid": "1ed1-77"
},
{
"uid": "540e-81"
"uid": "1ed1-81"
},
{
"uid": "540e-83"
"uid": "1ed1-83"
},
{
"uid": "540e-85"
"uid": "1ed1-85"
},
{
"uid": "540e-87"
"uid": "1ed1-87"
},
{
"uid": "540e-89"
"uid": "1ed1-89"
},
{
"uid": "540e-93"
"uid": "1ed1-93"
},
{
"uid": "540e-95"
"uid": "1ed1-95"
},
{
"uid": "540e-97"
"uid": "1ed1-97"
}

@@ -812,10 +812,10 @@ ],

{
"uid": "540e-123"
"uid": "1ed1-123"
}
]
},
"540e-101": {
"1ed1-101": {
"id": "/packages/table-core/src/createTable.ts",
"moduleParts": {
"index.production.js": "540e-102"
"index.production.js": "1ed1-102"
},

@@ -825,14 +825,14 @@ "imported": [],

{
"uid": "540e-123"
"uid": "1ed1-123"
}
]
},
"540e-103": {
"1ed1-103": {
"id": "/packages/table-core/src/utils/getCoreRowModel.ts",
"moduleParts": {
"index.production.js": "540e-104"
"index.production.js": "1ed1-104"
},
"imported": [
{
"uid": "540e-63"
"uid": "1ed1-63"
}

@@ -842,10 +842,10 @@ ],

{
"uid": "540e-123"
"uid": "1ed1-123"
}
]
},
"540e-105": {
"1ed1-105": {
"id": "/packages/table-core/src/utils/filterRowsUtils.ts",
"moduleParts": {
"index.production.js": "540e-106"
"index.production.js": "1ed1-106"
},

@@ -855,20 +855,20 @@ "imported": [],

{
"uid": "540e-107"
"uid": "1ed1-107"
},
{
"uid": "540e-109"
"uid": "1ed1-109"
}
]
},
"540e-107": {
"1ed1-107": {
"id": "/packages/table-core/src/utils/getFilteredRowModel.ts",
"moduleParts": {
"index.production.js": "540e-108"
"index.production.js": "1ed1-108"
},
"imported": [
{
"uid": "540e-63"
"uid": "1ed1-63"
},
{
"uid": "540e-105"
"uid": "1ed1-105"
}

@@ -878,17 +878,17 @@ ],

{
"uid": "540e-123"
"uid": "1ed1-123"
}
]
},
"540e-109": {
"1ed1-109": {
"id": "/packages/table-core/src/utils/getFacetedRowModel.ts",
"moduleParts": {
"index.production.js": "540e-110"
"index.production.js": "1ed1-110"
},
"imported": [
{
"uid": "540e-63"
"uid": "1ed1-63"
},
{
"uid": "540e-105"
"uid": "1ed1-105"
}

@@ -898,14 +898,14 @@ ],

{
"uid": "540e-123"
"uid": "1ed1-123"
}
]
},
"540e-111": {
"1ed1-111": {
"id": "/packages/table-core/src/utils/getFacetedUniqueValues.ts",
"moduleParts": {
"index.production.js": "540e-112"
"index.production.js": "1ed1-112"
},
"imported": [
{
"uid": "540e-63"
"uid": "1ed1-63"
}

@@ -915,14 +915,14 @@ ],

{
"uid": "540e-123"
"uid": "1ed1-123"
}
]
},
"540e-113": {
"1ed1-113": {
"id": "/packages/table-core/src/utils/getFacetedMinMaxValues.ts",
"moduleParts": {
"index.production.js": "540e-114"
"index.production.js": "1ed1-114"
},
"imported": [
{
"uid": "540e-63"
"uid": "1ed1-63"
}

@@ -932,14 +932,14 @@ ],

{
"uid": "540e-123"
"uid": "1ed1-123"
}
]
},
"540e-115": {
"1ed1-115": {
"id": "/packages/table-core/src/utils/getSortedRowModel.ts",
"moduleParts": {
"index.production.js": "540e-116"
"index.production.js": "1ed1-116"
},
"imported": [
{
"uid": "540e-63"
"uid": "1ed1-63"
}

@@ -949,14 +949,14 @@ ],

{
"uid": "540e-123"
"uid": "1ed1-123"
}
]
},
"540e-117": {
"1ed1-117": {
"id": "/packages/table-core/src/utils/getGroupedRowModel.ts",
"moduleParts": {
"index.production.js": "540e-118"
"index.production.js": "1ed1-118"
},
"imported": [
{
"uid": "540e-63"
"uid": "1ed1-63"
}

@@ -966,14 +966,14 @@ ],

{
"uid": "540e-123"
"uid": "1ed1-123"
}
]
},
"540e-119": {
"1ed1-119": {
"id": "/packages/table-core/src/utils/getExpandedRowModel.ts",
"moduleParts": {
"index.production.js": "540e-120"
"index.production.js": "1ed1-120"
},
"imported": [
{
"uid": "540e-63"
"uid": "1ed1-63"
}

@@ -983,20 +983,20 @@ ],

{
"uid": "540e-123"
"uid": "1ed1-123"
},
{
"uid": "540e-121"
"uid": "1ed1-121"
}
]
},
"540e-121": {
"1ed1-121": {
"id": "/packages/table-core/src/utils/getPaginationRowModel.ts",
"moduleParts": {
"index.production.js": "540e-122"
"index.production.js": "1ed1-122"
},
"imported": [
{
"uid": "540e-63"
"uid": "1ed1-63"
},
{
"uid": "540e-119"
"uid": "1ed1-119"
}

@@ -1006,83 +1006,83 @@ ],

{
"uid": "540e-123"
"uid": "1ed1-123"
}
]
},
"540e-123": {
"1ed1-123": {
"id": "/packages/table-core/src/index.ts",
"moduleParts": {
"index.production.js": "540e-124"
"index.production.js": "1ed1-124"
},
"imported": [
{
"uid": "540e-99"
"uid": "1ed1-99"
},
{
"uid": "540e-125"
"uid": "1ed1-125"
},
{
"uid": "540e-101"
"uid": "1ed1-101"
},
{
"uid": "540e-71"
"uid": "1ed1-71"
},
{
"uid": "540e-73"
"uid": "1ed1-73"
},
{
"uid": "540e-77"
"uid": "1ed1-77"
},
{
"uid": "540e-81"
"uid": "1ed1-81"
},
{
"uid": "540e-97"
"uid": "1ed1-97"
},
{
"uid": "540e-83"
"uid": "1ed1-83"
},
{
"uid": "540e-85"
"uid": "1ed1-85"
},
{
"uid": "540e-87"
"uid": "1ed1-87"
},
{
"uid": "540e-89"
"uid": "1ed1-89"
},
{
"uid": "540e-93"
"uid": "1ed1-93"
},
{
"uid": "540e-95"
"uid": "1ed1-95"
},
{
"uid": "540e-63"
"uid": "1ed1-63"
},
{
"uid": "540e-103"
"uid": "1ed1-103"
},
{
"uid": "540e-107"
"uid": "1ed1-107"
},
{
"uid": "540e-109"
"uid": "1ed1-109"
},
{
"uid": "540e-111"
"uid": "1ed1-111"
},
{
"uid": "540e-113"
"uid": "1ed1-113"
},
{
"uid": "540e-115"
"uid": "1ed1-115"
},
{
"uid": "540e-117"
"uid": "1ed1-117"
},
{
"uid": "540e-119"
"uid": "1ed1-119"
},
{
"uid": "540e-121"
"uid": "1ed1-121"
}

@@ -1093,3 +1093,3 @@ ],

},
"540e-125": {
"1ed1-125": {
"id": "/packages/table-core/src/types.ts",

@@ -1100,3 +1100,3 @@ "moduleParts": {},

{
"uid": "540e-123"
"uid": "1ed1-123"
}

@@ -1103,0 +1103,0 @@ ]

@@ -17,3 +17,2 @@ import { RequiredKeys } from './utils';

mergeOptions?: <T>(defaultOptions: T, options: Partial<T>) => T;
keepPreviousData?: boolean;
meta?: TGenerics['TableMeta'];

@@ -26,8 +25,8 @@ };

setOptions: (newOptions: Updater<TableOptions<TGenerics>>) => void;
queue: (cb: () => void) => void;
getState: () => TableState;
setState: (updater: Updater<TableState>) => void;
render: <TProps>(template: Renderable<TGenerics, TProps>, props: TProps) => string | null | TGenerics['Rendered'];
_queue: (cb: () => void) => void;
_render: <TProps>(template: Renderable<TGenerics, TProps>, props: TProps) => string | null | TGenerics['Rendered'];
_features: readonly TableFeature[];
};
export declare function createTableInstance<TGenerics extends TableGenerics>(options: TableOptions<TGenerics>): TableInstance<TGenerics>;

@@ -21,3 +21,2 @@ import { OnChangeFn, TableGenerics, TableInstance, RowModel, Updater, TableFeature } from '../types';

onPaginationChange: OnChangeFn<PaginationState>;
autoResetPageIndex: boolean;
};

@@ -24,0 +23,0 @@ export declare type PaginationInstance<TGenerics extends TableGenerics> = {

@@ -11,3 +11,3 @@ /**

*/
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TableCore={})}(this,(function(e){"use strict";function t(e,t){return"function"==typeof e?e(t):e}function n(e,n){return l=>{n.setState((n=>({...n,[e]:t(l,n[e])})))}}function l(e){return e instanceof Function}function o(e,t){const n=[],l=e=>{e.forEach((e=>{n.push(e);const o=t(e);null!=o&&o.length&&l(o)}))};return l(e),n}function i(e,t,n){let l,o=[];return()=>{let i;n.key&&n.debug&&(i=Date.now());const r=e();if(!(r.length!==o.length||r.some(((e,t)=>o[t]!==e))))return l;let u;if(o=r,n.key&&n.debug&&(u=Date.now()),l=t(...r),null==n||null==n.onChange||n.onChange(l),n.key&&n.debug&&null!=n&&n.debug()){const e=Math.round(100*(Date.now()-i))/100,t=Math.round(100*(Date.now()-u))/100,l=t/16,o=(e,t)=>{for(e=String(e);e.length<t;)e=" "+e;return e};console.info("%c⏱ "+o(t,5)+" /"+o(e,5)+" ms","\n font-size: .6rem;\n font-weight: bold;\n color: hsl("+Math.max(0,Math.min(120-120*l,120))+"deg 100% 31%);",null==n?void 0:n.key)}return l}}const r={createInstance:e=>({getDefaultColumn:i((()=>[e.options.defaultColumn]),(t=>{var n;return t=null!=(n=t)?n:{},{header:e=>e.header.column.id,footer:e=>e.header.column.id,cell:e=>{var t,n,l;return null!=(t=null==(n=(l=e.getValue()).toString)?void 0:n.call(l))?t:null},...e._features.reduce(((e,t)=>Object.assign(e,null==t.getDefaultColumn?void 0:t.getDefaultColumn())),{}),...t}}),{debug:()=>{var t;return null!=(t=e.options.debugAll)?t:e.options.debugColumns},key:!1}),getColumnDefs:()=>e.options.columns,createColumn:(t,n,l)=>{var o,r;const u=e.getDefaultColumn();let a,s=null!=(o=null!=(r=t.id)?r:t.accessorKey)?o:"string"==typeof t.header?t.header:void 0;if(t.accessorFn?a=t.accessorFn:t.accessorKey&&(a=e=>e[t.accessorKey]),!s)throw new Error;let g={...u,...t,id:""+s,accessorFn:a,parent:l,depth:n,columnDef:t,columnDefType:t.columnDefType,columns:[],getFlatColumns:i((()=>[!0]),(()=>{var e;return[g,...null==(e=g.columns)?void 0:e.flatMap((e=>e.getFlatColumns()))]}),{key:"column.getFlatColumns",debug:()=>{var t;return null!=(t=e.options.debugAll)?t:e.options.debugColumns}}),getLeafColumns:i((()=>[e._getOrderColumnsFn()]),(e=>{var t;if(null!=(t=g.columns)&&t.length){let t=g.columns.flatMap((e=>e.getLeafColumns()));return e(t)}return[g]}),{key:"column.getLeafColumns",debug:()=>{var t;return null!=(t=e.options.debugAll)?t:e.options.debugColumns}})};return g=e._features.reduce(((t,n)=>Object.assign(t,null==n.createColumn?void 0:n.createColumn(g,e))),g),g},getAllColumns:i((()=>[e.getColumnDefs()]),(t=>{const n=function(t,l,o){return void 0===o&&(o=0),t.map((t=>{const i=e.createColumn(t,o,l);return i.columns=t.columns?n(t.columns,i,o+1):[],i}))};return n(t)}),{key:!1,debug:()=>{var t;return null!=(t=e.options.debugAll)?t:e.options.debugColumns}}),getAllFlatColumns:i((()=>[e.getAllColumns()]),(e=>e.flatMap((e=>e.getFlatColumns()))),{key:!1,debug:()=>{var t;return null!=(t=e.options.debugAll)?t:e.options.debugColumns}}),getAllFlatColumnsById:i((()=>[e.getAllFlatColumns()]),(e=>e.reduce(((e,t)=>(e[t.id]=t,e)),{})),{key:!1,debug:()=>{var t;return null!=(t=e.options.debugAll)?t:e.options.debugColumns}}),getAllLeafColumns:i((()=>[e.getAllColumns(),e._getOrderColumnsFn()]),((e,t)=>t(e.flatMap((e=>e.getLeafColumns())))),{key:!1,debug:()=>{var t;return null!=(t=e.options.debugAll)?t:e.options.debugColumns}}),getColumn:t=>{const n=e.getAllFlatColumnsById()[t];if(!n)throw new Error;return n}})},u={createInstance:e=>({getRowId:(t,n,l)=>{var o;return null!=(o=null==e.options.getRowId?void 0:e.options.getRowId(t,n,l))?o:""+(l?[l.id,n].join("."):n)},createRow:(t,n,l,i,r)=>{let u={id:t,index:l,original:n,depth:i,valuesCache:{},getValue:t=>{if(u.valuesCache.hasOwnProperty(t))return u.valuesCache[t];const n=e.getColumn(t);if(!n.accessorFn)throw new Error;return u.valuesCache[t]=n.accessorFn(u.original,l),u.valuesCache[t]},subRows:null!=r?r:[],getLeafRows:()=>o(u.subRows,(e=>e.subRows))};for(let t=0;t<e._features.length;t++){const n=e._features[t];Object.assign(u,null==n||null==n.createRow?void 0:n.createRow(u,e))}return u},getCoreRowModel:()=>(e._getCoreRowModel||(e._getCoreRowModel=e.options.getCoreRowModel(e)),e._getCoreRowModel()),getRowModel:()=>e.getPaginationRowModel(),getRow:t=>{const n=e.getRowModel().rowsById[t];if(!n)throw new Error;return n}})},a={createRow:(e,t)=>({getAllCells:i((()=>[t.getAllLeafColumns()]),(n=>n.map((n=>t.createCell(e,n,n.id)))),{key:!1,debug:()=>{var e;return null!=(e=t.options.debugAll)?e:t.options.debugRows}}),getAllCellsByColumnId:i((()=>[e.getAllCells()]),(e=>e.reduce(((e,t)=>(e[t.columnId]=t,e)),{})),{key:"row.getAllCellsByColumnId",debug:()=>{var e;return null!=(e=t.options.debugAll)?e:t.options.debugRows}})}),createInstance:e=>({createCell:(t,n,l)=>{const o={id:t.id+"_"+n.id,rowId:t.id,columnId:l,row:t,column:n,getValue:()=>t.getValue(l),renderCell:()=>n.cell?e.render(n.cell,{instance:e,column:n,row:t,cell:o,getValue:o.getValue}):null};return e._features.forEach((l=>{Object.assign(o,null==l.createCell?void 0:l.createCell(o,n,t,e))}),{}),o},getCell:(t,n)=>{const l=e.getRow(t);if(!l)throw new Error;const o=l.getAllCellsByColumnId()[n];if(!o)throw new Error;return o}})},s={size:150,minSize:20,maxSize:Number.MAX_SAFE_INTEGER},g={getDefaultColumn:()=>s,getInitialState:e=>({columnSizing:{},columnSizingInfo:{startOffset:null,startSize:null,deltaOffset:null,deltaPercentage:null,isResizingColumn:!1,columnSizingStart:[]},...e}),getDefaultOptions:e=>({columnResizeMode:"onEnd",onColumnSizingChange:n("columnSizing",e),onColumnSizingInfoChange:n("columnSizingInfo",e)}),createColumn:(e,t)=>({getSize:()=>{var n,l,o;const i=t.getState().columnSizing[e.id];return Math.min(Math.max(null!=(n=e.minSize)?n:s.minSize,null!=(l=null!=i?i:e.size)?l:s.size),null!=(o=e.maxSize)?o:s.maxSize)},getStart:n=>{const l=n?"left"===n?t.getLeftVisibleLeafColumns():t.getRightVisibleLeafColumns():t.getVisibleLeafColumns(),o=l.findIndex((t=>t.id===e.id));if(o>0){const e=l[o-1];return e.getStart(n)+e.getSize()}return 0},resetSize:()=>{t.setColumnSizing((t=>{let{[e.id]:n,...l}=t;return l}))},getCanResize:()=>{var n,l;return(null==(n=e.enableResizing)||n)&&(null==(l=t.options.enableColumnResizing)||l)},getIsResizing:()=>t.getState().columnSizingInfo.isResizingColumn===e.id}),createHeader:(e,t)=>({getSize:()=>{let t=0;const n=e=>{var l;e.subHeaders.length?e.subHeaders.forEach(n):t+=null!=(l=e.column.getSize())?l:0};return n(e),t},getStart:()=>{if(e.index>0){const t=e.headerGroup.headers[e.index-1];return t.getStart()+t.getSize()}return 0},getResizeHandler:()=>{const n=t.getColumn(e.column.id),l=n.getCanResize();return o=>{if(!l)return;if(null==o.persist||o.persist(),p(o)&&o.touches&&o.touches.length>1)return;const i=n.getSize(),r=e?e.getLeafHeaders().map((e=>[e.column.id,e.column.getSize()])):[[n.id,n.getSize()]],u=p(o)?Math.round(o.touches[0].clientX):o.clientX,a=(e,n)=>{if("number"!=typeof n)return;let l={};t.setColumnSizingInfo((e=>{var t,o;const i=n-(null!=(t=null==e?void 0:e.startOffset)?t:0),r=Math.max(i/(null!=(o=null==e?void 0:e.startSize)?o:0),-.999999);return e.columnSizingStart.forEach((e=>{let[t,n]=e;l[t]=Math.round(100*Math.max(n+n*r,0))/100})),{...e,deltaOffset:i,deltaPercentage:r}})),"onChange"!==t.options.columnResizeMode&&"end"!==e||t.setColumnSizing((e=>({...e,...l})))},s={moveHandler:e=>{return t=e.clientX,a("move",t);var t},upHandler:e=>{var n;document.removeEventListener("mousemove",s.moveHandler),document.removeEventListener("mouseup",s.upHandler),n=e.clientX,a("end",n),t.setColumnSizingInfo((e=>({...e,isResizingColumn:!1,startOffset:null,startSize:null,deltaOffset:null,deltaPercentage:null,columnSizingStart:[]})))}},g=!!c()&&{passive:!1};p(o)||(document.addEventListener("mousemove",s.moveHandler,g),document.addEventListener("mouseup",s.upHandler,g)),t.setColumnSizingInfo((e=>({...e,startOffset:u,startSize:i,deltaOffset:0,deltaPercentage:0,columnSizingStart:r,isResizingColumn:n.id})))}}}),createInstance:e=>({setColumnSizing:t=>null==e.options.onColumnSizingChange?void 0:e.options.onColumnSizingChange(t),setColumnSizingInfo:t=>null==e.options.onColumnSizingInfoChange?void 0:e.options.onColumnSizingInfoChange(t),resetColumnSizing:t=>{var n;e.setColumnSizing(t?{}:null!=(n=e.initialState.columnSizing)?n:{})},resetHeaderSizeInfo:t=>{var n;e.setColumnSizingInfo(t?{startOffset:null,startSize:null,deltaOffset:null,deltaPercentage:null,isResizingColumn:!1,columnSizingStart:[]}:null!=(n=e.initialState.columnSizingInfo)?n:{startOffset:null,startSize:null,deltaOffset:null,deltaPercentage:null,isResizingColumn:!1,columnSizingStart:[]})},getTotalSize:()=>{var t,n;return null!=(t=null==(n=e.getHeaderGroups()[0])?void 0:n.headers.reduce(((e,t)=>e+t.getSize()),0))?t:0},getLeftTotalSize:()=>{var t,n;return null!=(t=null==(n=e.getLeftHeaderGroups()[0])?void 0:n.headers.reduce(((e,t)=>e+t.getSize()),0))?t:0},getCenterTotalSize:()=>{var t,n;return null!=(t=null==(n=e.getCenterHeaderGroups()[0])?void 0:n.headers.reduce(((e,t)=>e+t.getSize()),0))?t:0},getRightTotalSize:()=>{var t,n;return null!=(t=null==(n=e.getRightHeaderGroups()[0])?void 0:n.headers.reduce(((e,t)=>e+t.getSize()),0))?t:0}})};let d=null;function c(){if("boolean"==typeof d)return d;let e=!1;try{const t={get passive(){return e=!0,!1}},n=()=>{};window.addEventListener("test",n,t),window.removeEventListener("test",n)}catch(t){e=!1}return d=e,d}function p(e){return"touchstart"===e.type}const f={getInitialState:e=>({expanded:{},...e}),getDefaultOptions:e=>({onExpandedChange:n("expanded",e),autoResetExpanded:!0,expandSubRows:!0,paginateExpandedRows:!0}),createInstance:e=>{let t=!1,n=!1;return{_autoResetExpanded:()=>{if(t){if(!1!==e.options.autoResetAll&&(!0===e.options.autoResetAll||e.options.autoResetExpanded)){if(n)return;n=!0,e.queue((()=>{e.resetExpanded(),n=!1}))}}else e.queue((()=>{t=!0}))},setExpanded:t=>null==e.options.onExpandedChange?void 0:e.options.onExpandedChange(t),toggleAllRowsExpanded:t=>{(null!=t?t:!e.getIsAllRowsExpanded())?e.setExpanded(!0):e.setExpanded({})},resetExpanded:t=>{var n,l;e.setExpanded(t?{}:null!=(n=null==(l=e.initialState)?void 0:l.expanded)?n:{})},getCanSomeRowsExpand:()=>e.getRowModel().flatRows.some((e=>e.getCanExpand())),getToggleAllRowsExpandedHandler:()=>t=>{null==t.persist||t.persist(),e.toggleAllRowsExpanded()},getIsSomeRowsExpanded:()=>{const t=e.getState().expanded;return!0===t||Object.values(t).some(Boolean)},getIsAllRowsExpanded:()=>!0===e.getState().expanded||!e.getRowModel().flatRows.some((e=>e.getIsExpanded())),getExpandedDepth:()=>{let t=0;return(!0===e.getState().expanded?Object.keys(e.getRowModel().rowsById):Object.keys(e.getState().expanded)).forEach((e=>{const n=e.split(".");t=Math.max(t,n.length)})),t},getPreExpandedRowModel:()=>e.getGroupedRowModel(),getExpandedRowModel:()=>(!e._getExpandedRowModel&&e.options.getExpandedRowModel&&(e._getExpandedRowModel=e.options.getExpandedRowModel(e)),e.options.manualExpanding||!e._getExpandedRowModel?e.getPreExpandedRowModel():e._getExpandedRowModel())}},createRow:(e,t)=>({toggleExpanded:n=>{t.setExpanded((l=>{var o;const i=!0===l||!(null==l||!l[e.id]);let r={};if(!0===l?Object.keys(t.getRowModel().rowsById).forEach((e=>{r[e]=!0})):r=l,n=null!=(o=n)?o:!i,!i&&n)return{...r,[e.id]:!0};if(i&&!n){const{[e.id]:t,...n}=r;return n}return l}))},getIsExpanded:()=>{var n;const l=t.getState().expanded;return!!(null!=(n=null==t.options.getIsRowExpanded?void 0:t.options.getIsRowExpanded(e))?n:!0===l||(null==l?void 0:l[e.id]))},getCanExpand:()=>{var n,l,o;return(null==(n=null==t.options.getRowCanExpand?void 0:t.options.getRowCanExpand(e))||n)&&(null==(l=t.options.enableExpanding)||l)&&!(null==(o=e.subRows)||!o.length)},getToggleExpandedHandler:()=>{const t=e.getCanExpand();return()=>{t&&e.toggleExpanded()}}})},m=(e,t,n)=>{const l=n.toLowerCase();return e.getValue(t).toLowerCase().includes(l)};m.autoRemove=e=>I(e);const b=(e,t,n)=>e.getValue(t).includes(n);b.autoRemove=e=>I(e);const w=(e,t,n)=>e.getValue(t).toLowerCase()===n.toLowerCase();w.autoRemove=e=>I(e);const C=(e,t,n)=>e.getValue(t).includes(n);C.autoRemove=e=>I(e)||!(null!=e&&e.length);const h=(e,t,n)=>!n.some((n=>!e.getValue(t).includes(n)));h.autoRemove=e=>I(e)||!(null!=e&&e.length);const v=(e,t,n)=>n.some((n=>e.getValue(t).includes(n)));v.autoRemove=e=>I(e)||!(null!=e&&e.length);const S=(e,t,n)=>e.getValue(t)===n;S.autoRemove=e=>I(e);const R=(e,t,n)=>e.getValue(t)==n;R.autoRemove=e=>I(e);const F=(e,t,n)=>{let[l,o]=n;const i=e.getValue(t);return i>=l&&i<=o};F.resolveFilterValue=e=>{let[t,n]=e,l="number"!=typeof t?parseFloat(t):t,o="number"!=typeof n?parseFloat(n):n,i=null===t||Number.isNaN(l)?-1/0:l,r=null===n||Number.isNaN(o)?1/0:o;if(i>r){const e=i;i=r,r=e}return[i,r]},F.autoRemove=e=>I(e)||I(e[0])&&I(e[1]);const M={includesString:m,includesStringSensitive:b,equalsString:w,arrIncludes:C,arrIncludesAll:h,arrIncludesSome:v,equals:S,weakEquals:R,inNumberRange:F};function I(e){return null==e||""===e}const y={getDefaultColumn:()=>({filterFn:"auto"}),getInitialState:e=>({columnFilters:[],globalFilter:void 0,...e}),getDefaultOptions:e=>({onColumnFiltersChange:n("columnFilters",e),onGlobalFilterChange:n("globalFilter",e),filterFromLeafRows:!1,globalFilterFn:"auto",getColumnCanGlobalFilter:t=>{var n,l;return"string"==typeof(null==(n=e.getCoreRowModel().flatRows[0])||null==(l=n.getAllCellsByColumnId()[t.id])?void 0:l.getValue())}}),createColumn:(e,n)=>({filterFn:e.filterFn,getAutoFilterFn:()=>{const t=n.getCoreRowModel().flatRows[0],l=null==t?void 0:t.getValue(e.id);return"string"==typeof l?M.includesString:"number"==typeof l?M.inNumberRange:null!==l&&"object"==typeof l?M.equals:Array.isArray(l)?M.arrIncludes:M.weakEquals},getFilterFn:()=>{var t;const o=n.options.filterFns;return l(e.filterFn)?e.filterFn:"auto"===e.filterFn?e.getAutoFilterFn():null!=(t=null==o?void 0:o[e.filterFn])?t:M[e.filterFn]},getCanFilter:()=>{var t,l,o;return(null==(t=e.enableColumnFilter)||t)&&(null==(l=n.options.enableColumnFilters)||l)&&(null==(o=n.options.enableFilters)||o)&&!!e.accessorFn},getCanGlobalFilter:()=>{var t,l,o,i;return(null==(t=e.enableGlobalFilter)||t)&&(null==(l=n.options.enableGlobalFilter)||l)&&(null==(o=n.options.enableFilters)||o)&&(null==(i=null==n.options.getColumnCanGlobalFilter?void 0:n.options.getColumnCanGlobalFilter(e))||i)&&!!e.accessorFn},getIsFiltered:()=>e.getFilterIndex()>-1,getFilterValue:()=>{var t,l;return null==(t=n.getState().columnFilters)||null==(l=t.find((t=>t.id===e.id)))?void 0:l.value},getFilterIndex:()=>{var t,l;return null!=(t=null==(l=n.getState().columnFilters)?void 0:l.findIndex((t=>t.id===e.id)))?t:-1},setFilterValue:l=>{n.setColumnFilters((n=>{const o=e.getFilterFn(),i=null==n?void 0:n.find((t=>t.id===e.id)),r=t(l,i?i.value:void 0);var u;if(V(o,r,e))return null!=(u=null==n?void 0:n.filter((t=>t.id!==e.id)))?u:[];const a={id:e.id,value:r};var s;return i?null!=(s=null==n?void 0:n.map((t=>t.id===e.id?a:t)))?s:[]:null!=n&&n.length?[...n,a]:[a]}))},_getFacetedRowModel:n.options.getFacetedRowModel&&n.options.getFacetedRowModel(n,e.id),getFacetedRowModel:()=>e._getFacetedRowModel?e._getFacetedRowModel():n.getPreFilteredRowModel(),_getFacetedUniqueValues:n.options.getFacetedUniqueValues&&n.options.getFacetedUniqueValues(n,e.id),getFacetedUniqueValues:()=>e._getFacetedUniqueValues?e._getFacetedUniqueValues():new Map,_getFacetedMinMaxValues:n.options.getFacetedMinMaxValues&&n.options.getFacetedMinMaxValues(n,e.id),getFacetedMinMaxValues:()=>{if(e._getFacetedMinMaxValues)return e._getFacetedMinMaxValues()}}),createRow:(e,t)=>({columnFilterMap:{},subRowsByFacetId:{}}),createInstance:e=>({getGlobalAutoFilterFn:()=>M.includesString,getGlobalFilterFn:()=>{var t;const{filterFns:n,globalFilterFn:o}=e.options;return l(o)?o:"auto"===o?e.getGlobalAutoFilterFn():null!=(t=null==n?void 0:n[o])?t:M[o]},setColumnFilters:n=>{const l=e.getAllLeafColumns();null==e.options.onColumnFiltersChange||e.options.onColumnFiltersChange((e=>{var o;return null==(o=t(n,e))?void 0:o.filter((e=>{const t=l.find((t=>t.id===e.id));if(t){if(V(t.getFilterFn(),e.value,t))return!1}return!0}))}))},setGlobalFilter:t=>{null==e.options.onGlobalFilterChange||e.options.onGlobalFilterChange(t)},resetGlobalFilter:t=>{e.setGlobalFilter(t?void 0:e.initialState.globalFilter)},resetColumnFilters:t=>{var n,l;e.setColumnFilters(t?[]:null!=(n=null==(l=e.initialState)?void 0:l.columnFilters)?n:[])},getPreFilteredRowModel:()=>e.getCoreRowModel(),_getFilteredRowModel:e.options.getFilteredRowModel&&e.options.getFilteredRowModel(e),getFilteredRowModel:()=>e.options.manualFiltering||!e._getFilteredRowModel?e.getPreFilteredRowModel():e._getFilteredRowModel(),_getGlobalFacetedRowModel:e.options.getFacetedRowModel&&e.options.getFacetedRowModel(e,"__global__"),getGlobalFacetedRowModel:()=>e.options.manualFiltering||!e._getGlobalFacetedRowModel?e.getPreFilteredRowModel():e._getGlobalFacetedRowModel(),_getGlobalFacetedUniqueValues:e.options.getFacetedUniqueValues&&e.options.getFacetedUniqueValues(e,"__global__"),getGlobalFacetedUniqueValues:()=>e._getGlobalFacetedUniqueValues?e._getGlobalFacetedUniqueValues():new Map,_getGlobalFacetedMinMaxValues:e.options.getFacetedMinMaxValues&&e.options.getFacetedMinMaxValues(e,"__global__"),getGlobalFacetedMinMaxValues:()=>{if(e._getGlobalFacetedMinMaxValues)return e._getGlobalFacetedMinMaxValues()}})};function V(e,t,n){return!(!e||!e.autoRemove)&&e.autoRemove(t,n)||void 0===t||"string"==typeof t&&!t}const x={sum:function(e,t){return t().reduce(((e,t)=>e+("number"==typeof t?t:0)),0)},min:function(e,t){let n;for(const e of t())null!=e&&(n>e||void 0===n&&e>=e)&&(n=e);return n},max:function(e,t){let n;for(const e of t())null!=e&&(n<e||void 0===n&&e>=e)&&(n=e);return n},extent:function(e,t){let n,l;for(const e of t())null!=e&&(void 0===n?e>=e&&(n=l=e):(n>e&&(n=e),l<e&&(l=e)));return[n,l]},mean:function(e){let t=0,n=0;for(let l of e())null!=l&&(l=+l)>=l&&(++t,n+=l);return t?n/t:void 0},median:function(e){const t=e();if(!t.length)return;let n=0,l=0;return t.forEach((e=>{"number"==typeof e&&(n=Math.min(n,e),l=Math.max(l,e))})),(n+l)/2},unique:function(e){return Array.from(new Set(e()).values())},uniqueCount:function(e){return new Set(e()).size},count:function(e){return e().length}};const A={getDefaultColumn:()=>({aggregationFn:"auto"}),getInitialState:e=>({grouping:[],...e}),getDefaultOptions:e=>({onGroupingChange:n("grouping",e),groupedColumnMode:"reorder"}),createColumn:(e,t)=>({toggleGrouping:()=>{t.setGrouping((t=>null!=t&&t.includes(e.id)?t.filter((t=>t!==e.id)):[...null!=t?t:[],e.id]))},getCanGroup:()=>{var n,l,o,i;return null!=(n=null==(l=null!=(o=null==(i=e.enableGrouping)||i)?o:t.options.enableGrouping)||l)?n:!!e.accessorFn},getIsGrouped:()=>{var n;return null==(n=t.getState().grouping)?void 0:n.includes(e.id)},getGroupedIndex:()=>{var n;return null==(n=t.getState().grouping)?void 0:n.indexOf(e.id)},getToggleGroupingHandler:()=>{const t=e.getCanGroup();return()=>{t&&e.toggleGrouping()}},getColumnAutoAggregationFn:()=>{const n=t.getCoreRowModel().flatRows[0],l=null==n?void 0:n.getValue(e.id);return"number"==typeof l?x.sum:"[object Date]"===Object.prototype.toString.call(l)?x.extent:x.count},getColumnAggregationFn:()=>{var n;const o=t.options.aggregationFns;if(!e)throw new Error;return l(e.aggregationFn)?e.aggregationFn:"auto"===e.aggregationFn?e.getColumnAutoAggregationFn():null!=(n=null==o?void 0:o[e.aggregationFn])?n:x[e.aggregationFn]}}),createInstance:e=>({setGrouping:t=>null==e.options.onGroupingChange?void 0:e.options.onGroupingChange(t),resetGrouping:t=>{var n,l;e.setGrouping(t?[]:null!=(n=null==(l=e.initialState)?void 0:l.grouping)?n:[])},getPreGroupedRowModel:()=>e.getSortedRowModel(),getGroupedRowModel:()=>(!e._getGroupedRowModel&&e.options.getGroupedRowModel&&(e._getGroupedRowModel=e.options.getGroupedRowModel(e)),e.options.manualGrouping||!e._getGroupedRowModel?e.getPreGroupedRowModel():e._getGroupedRowModel())}),createRow:(e,t)=>({getIsGrouped:()=>!!e.groupingColumnId,groupingValuesCache:{}}),createCell:(e,t,n,l)=>({getIsGrouped:()=>t.getIsGrouped()&&t.id===n.groupingColumnId,getIsPlaceholder:()=>!e.getIsGrouped()&&t.getIsGrouped(),getIsAggregated:()=>{var t;return!e.getIsGrouped()&&!e.getIsPlaceholder()&&(null==(t=n.subRows)?void 0:t.length)>1},renderAggregatedCell:()=>{var o;const i=null!=(o=t.aggregatedCell)?o:t.cell;return i?l.render(i,{instance:l,column:t,row:n,cell:e,getValue:e.getValue}):null}})};function P(e,t,n){if(null==t||!t.length||!n)return e;const l=e.filter((e=>!t.includes(e.id)));if("remove"===n)return l;return[...t.map((t=>e.find((e=>e.id===t)))).filter(Boolean),...l]}const E={getInitialState:e=>({columnOrder:[],...e}),getDefaultOptions:e=>({onColumnOrderChange:n("columnOrder",e)}),createInstance:e=>({setColumnOrder:t=>null==e.options.onColumnOrderChange?void 0:e.options.onColumnOrderChange(t),resetColumnOrder:t=>{var n;e.setColumnOrder(t?[]:null!=(n=e.initialState.columnOrder)?n:[])},_getOrderColumnsFn:i((()=>[e.getState().columnOrder,e.getState().grouping,e.options.groupedColumnMode]),((e,t,n)=>l=>{let o=[];if(null!=e&&e.length){const t=[...e],n=[...l];for(;n.length&&t.length;){const e=t.shift(),l=n.findIndex((t=>t.id===e));l>-1&&o.push(n.splice(l,1)[0])}o=[...o,...n]}else o=l;return P(o,t,n)}),{key:!1})})},_={getInitialState:e=>({...e,pagination:{pageIndex:0,pageSize:10,...null==e?void 0:e.pagination}}),getDefaultOptions:e=>({onPaginationChange:n("pagination",e),autoResetPageIndex:!0}),createInstance:e=>{let n=!1,l=!1;return{_autoResetPageIndex:()=>{if(n){if(!1!==e.options.autoResetAll&&(!0===e.options.autoResetAll||e.options.autoResetPageIndex)){if(l)return;l=!0,e.queue((()=>{e.resetPageIndex(),l=!1}))}}else e.queue((()=>{n=!0}))},setPagination:n=>null==e.options.onPaginationChange?void 0:e.options.onPaginationChange((e=>t(n,e))),resetPagination:t=>{var n;e.setPagination(t?{pageIndex:0,pageSize:10}:null!=(n=e.initialState.pagination)?n:{pageIndex:0,pageSize:10})},setPageIndex:n=>{e.setPagination((e=>{let l=t(n,e.pageIndex);const o=e.pageCount&&e.pageCount>0?e.pageCount-1:Number.MAX_SAFE_INTEGER;return l=Math.min(Math.max(0,l),o),{...e,pageIndex:l}}))},resetPageIndex:t=>{var n,l,o;e.setPageIndex(t?0:null!=(n=null==(l=e.initialState)||null==(o=l.pagination)?void 0:o.pageIndex)?n:0)},resetPageSize:t=>{var n,l,o;e.setPageSize(t?10:null!=(n=null==(l=e.initialState)||null==(o=l.pagination)?void 0:o.pageSize)?n:10)},setPageSize:n=>{e.setPagination((e=>{const l=Math.max(1,t(n,e.pageSize)),o=e.pageSize*e.pageIndex,i=Math.floor(o/l);return{...e,pageIndex:i,pageSize:l}}))},setPageCount:n=>e.setPagination((e=>{var l;let o=t(n,null!=(l=e.pageCount)?l:-1);return"number"==typeof o&&(o=Math.max(-1,o)),{...e,pageCount:o}})),getPageOptions:i((()=>[e.getState().pagination.pageSize,e.getState().pagination.pageCount]),((e,t)=>{let n=[];return t&&t>0&&(n=[...new Array(t)].fill(null).map(((e,t)=>t))),n}),{key:!1,debug:()=>{var t;return null!=(t=e.options.debugAll)?t:e.options.debugTable}}),getCanPreviousPage:()=>e.getState().pagination.pageIndex>0,getCanNextPage:()=>{const{pageIndex:t}=e.getState().pagination,n=e.getPageCount();return-1===n||0!==n&&t<n-1},previousPage:()=>e.setPageIndex((e=>e-1)),nextPage:()=>e.setPageIndex((e=>e+1)),getPrePaginationRowModel:()=>e.getExpandedRowModel(),getPaginationRowModel:()=>(!e._getPaginationRowModel&&e.options.getPaginationRowModel&&(e._getPaginationRowModel=e.options.getPaginationRowModel(e)),e.options.manualPagination||!e._getPaginationRowModel?e.getPrePaginationRowModel():e._getPaginationRowModel()),getPageCount:()=>{const{pageCount:t}=e.getState().pagination;return void 0!==t?t:Math.ceil(e.getPrePaginationRowModel().rows.length/e.getState().pagination.pageSize)}}}},G={getInitialState:e=>({columnPinning:{left:[],right:[]},...e}),getDefaultOptions:e=>({onColumnPinningChange:n("columnPinning",e)}),createColumn:(e,t)=>({pin:n=>{const l=e.getLeafColumns().map((e=>e.id)).filter(Boolean);t.setColumnPinning((e=>{var t,o,i,r,u,a;return"right"===n?{left:(null!=(i=null==e?void 0:e.left)?i:[]).filter((e=>!(null!=l&&l.includes(e)))),right:[...(null!=(r=null==e?void 0:e.right)?r:[]).filter((e=>!(null!=l&&l.includes(e)))),...l]}:"left"===n?{left:[...(null!=(u=null==e?void 0:e.left)?u:[]).filter((e=>!(null!=l&&l.includes(e)))),...l],right:(null!=(a=null==e?void 0:e.right)?a:[]).filter((e=>!(null!=l&&l.includes(e))))}:{left:(null!=(t=null==e?void 0:e.left)?t:[]).filter((e=>!(null!=l&&l.includes(e)))),right:(null!=(o=null==e?void 0:e.right)?o:[]).filter((e=>!(null!=l&&l.includes(e))))}}))},getCanPin:()=>e.getLeafColumns().some((e=>{var n,l;return(null==(n=e.enablePinning)||n)&&(null==(l=t.options.enablePinning)||l)})),getIsPinned:()=>{const n=e.getLeafColumns().map((e=>e.id)),{left:l,right:o}=t.getState().columnPinning,i=n.some((e=>null==l?void 0:l.includes(e))),r=n.some((e=>null==o?void 0:o.includes(e)));return i?"left":!!r&&"right"},getPinnedIndex:()=>{var n,l,o;const i=e.getIsPinned();return i?null!=(n=null==(l=t.getState().columnPinning)||null==(o=l[i])?void 0:o.indexOf(e.id))?n:-1:0}}),createRow:(e,t)=>({getCenterVisibleCells:i((()=>[e._getAllVisibleCells(),t.getState().columnPinning.left,t.getState().columnPinning.right]),((e,t,n)=>{const l=[...null!=t?t:[],...null!=n?n:[]];return e.filter((e=>!l.includes(e.columnId)))}),{key:"row.getCenterVisibleCells",debug:()=>{var e;return null!=(e=t.options.debugAll)?e:t.options.debugRows}}),getLeftVisibleCells:i((()=>[e._getAllVisibleCells(),t.getState().columnPinning.left,,]),((e,t)=>(null!=t?t:[]).map((t=>e.find((e=>e.columnId===t)))).filter(Boolean).map((e=>({...e,position:"left"})))),{key:"row.getLeftVisibleCells",debug:()=>{var e;return null!=(e=t.options.debugAll)?e:t.options.debugRows}}),getRightVisibleCells:i((()=>[e._getAllVisibleCells(),t.getState().columnPinning.right]),((e,t)=>(null!=t?t:[]).map((t=>e.find((e=>e.columnId===t)))).filter(Boolean).map((e=>({...e,position:"left"})))),{key:"row.getRightVisibleCells",debug:()=>{var e;return null!=(e=t.options.debugAll)?e:t.options.debugRows}})}),createInstance:e=>({setColumnPinning:t=>null==e.options.onColumnPinningChange?void 0:e.options.onColumnPinningChange(t),resetColumnPinning:t=>{var n,l;return e.setColumnPinning(t?{left:[],right:[]}:null!=(n=null==(l=e.initialState)?void 0:l.columnPinning)?n:{left:[],right:[]})},getIsSomeColumnsPinned:()=>{const{left:t,right:n}=e.getState().columnPinning;return Boolean((null==t?void 0:t.length)||(null==n?void 0:n.length))},getLeftLeafColumns:i((()=>[e.getAllLeafColumns(),e.getState().columnPinning.left]),((e,t)=>(null!=t?t:[]).map((t=>e.find((e=>e.id===t)))).filter(Boolean)),{key:!1,debug:()=>{var t;return null!=(t=e.options.debugAll)?t:e.options.debugColumns}}),getRightLeafColumns:i((()=>[e.getAllLeafColumns(),e.getState().columnPinning.right]),((e,t)=>(null!=t?t:[]).map((t=>e.find((e=>e.id===t)))).filter(Boolean)),{key:!1,debug:()=>{var t;return null!=(t=e.options.debugAll)?t:e.options.debugColumns}}),getCenterLeafColumns:i((()=>[e.getAllLeafColumns(),e.getState().columnPinning.left,e.getState().columnPinning.right]),((e,t,n)=>{const l=[...null!=t?t:[],...null!=n?n:[]];return e.filter((e=>!l.includes(e.id)))}),{key:!1,debug:()=>{var t;return null!=(t=e.options.debugAll)?t:e.options.debugColumns}})})},H={getInitialState:e=>({rowSelection:{},...e}),getDefaultOptions:e=>({onRowSelectionChange:n("rowSelection",e),enableRowSelection:!0,enableMultiRowSelection:!0,enableSubRowSelection:!0}),createInstance:e=>({setRowSelection:t=>null==e.options.onRowSelectionChange?void 0:e.options.onRowSelectionChange(t),resetRowSelection:t=>{var n;return e.setRowSelection(t?{}:null!=(n=e.initialState.rowSelection)?n:{})},toggleAllRowsSelected:t=>{e.setRowSelection((n=>{t=void 0!==t?t:!e.getIsAllRowsSelected();const l={...n},o=e.getPreGroupedRowModel().flatRows;return t?o.forEach((e=>{l[e.id]=!0})):o.forEach((e=>{delete l[e.id]})),l}))},toggleAllPageRowsSelected:t=>e.setRowSelection((n=>{void 0!==t||e.getIsAllPageRowsSelected();const l={...n};return e.getRowModel().rows.forEach((n=>{z(l,n.id,t,e)})),l})),getPreSelectedRowModel:()=>e.getCoreRowModel(),getSelectedRowModel:i((()=>[e.getState().rowSelection,e.getCoreRowModel()]),((t,n)=>Object.keys(t).length?L(e,n):{rows:[],flatRows:[],rowsById:{}}),{key:!1,debug:()=>{var t;return null!=(t=e.options.debugAll)?t:e.options.debugTable}}),getFilteredSelectedRowModel:i((()=>[e.getState().rowSelection,e.getFilteredRowModel()]),((t,n)=>Object.keys(t).length?L(e,n):{rows:[],flatRows:[],rowsById:{}}),{key:"getFilteredSelectedRowModel",debug:()=>{var t;return null!=(t=e.options.debugAll)?t:e.options.debugTable}}),getGroupedSelectedRowModel:i((()=>[e.getState().rowSelection,e.getGroupedRowModel()]),((t,n)=>Object.keys(t).length?L(e,n):{rows:[],flatRows:[],rowsById:{}}),{key:"getGroupedSelectedRowModel",debug:()=>{var t;return null!=(t=e.options.debugAll)?t:e.options.debugTable}}),getIsAllRowsSelected:()=>{const t=e.getPreFilteredRowModel().flatRows,{rowSelection:n}=e.getState();let l=Boolean(t.length&&Object.keys(n).length);return l&&t.some((e=>!n[e.id]))&&(l=!1),l},getIsAllPageRowsSelected:()=>{const t=e.getPaginationRowModel().flatRows,{rowSelection:n}=e.getState();let l=!!t.length;return l&&t.some((e=>!n[e.id]))&&(l=!1),l},getIsSomeRowsSelected:()=>{var t;return!e.getIsAllRowsSelected()&&!!Object.keys(null!=(t=e.getState().rowSelection)?t:{}).length},getIsSomePageRowsSelected:()=>{const t=e.getPaginationRowModel().flatRows;return!e.getIsAllPageRowsSelected()&&!(null==t||!t.length)},getToggleAllRowsSelectedHandler:()=>t=>{e.toggleAllRowsSelected(t.target.checked)},getToggleAllPageRowsSelectedHandler:()=>t=>{e.toggleAllPageRowsSelected(t.target.checked)}}),createRow:(e,t)=>({toggleSelected:n=>{const l=e.getIsSelected();t.setRowSelection((o=>{if(l===(n=void 0!==n?n:!l))return o;const i={...o};return z(i,e.id,n,t),i}))},getIsSelected:()=>{const{rowSelection:n}=t.getState();return!0===k(e,n)},getIsSomeSelected:()=>{const{rowSelection:n}=t.getState();return"some"===k(e,n)},getCanSelect:()=>{var n;return"function"==typeof t.options.enableRowSelection?t.options.enableRowSelection(e):null==(n=t.options.enableRowSelection)||n},getCanSelectSubRows:()=>{var n;return"function"==typeof t.options.enableSubRowSelection?t.options.enableSubRowSelection(e):null==(n=t.options.enableSubRowSelection)||n},getCanMultiSelect:()=>{var n;return"function"==typeof t.options.enableMultiRowSelection?t.options.enableMultiRowSelection(e):null==(n=t.options.enableMultiRowSelection)||n},getToggleSelectedHandler:()=>{const t=e.getCanSelect();return n=>{var l;t&&e.toggleSelected(null==(l=n.target)?void 0:l.checked)}}})},z=(e,t,n,l)=>{var o;const i=l.getRow(t);i.getIsGrouped(),n?e[t]=!0:delete e[t],null!=(o=i.subRows)&&o.length&&i.getCanSelectSubRows()&&i.subRows.forEach((t=>z(e,t.id,n,l)))};function L(e,t){const n=e.getState().rowSelection,l=[],o={},i=function(e,t){return void 0===t&&(t=0),e.map((e=>{var r;const u=!0===k(e,n);if(u&&(l.push(e),o[e.id]=e),null!=(r=e.subRows)&&r.length&&(e={...e,subRows:i(e.subRows,t+1)}),u)return e})).filter(Boolean)};return{rows:i(t.rows),flatRows:l,rowsById:o}}function k(e,t,n){if(t[e.id])return!0;if(e.subRows&&e.subRows.length){let n=!0,l=!1;return e.subRows.forEach((e=>{l&&!n||(k(e,t)?l=!0:n=!1)})),!!n||!!l&&"some"}return!1}const O=/([0-9]+)/gm,T={alphanumeric:function(e,t,n){return D(j(e.getValue(n)).toLowerCase(),j(t.getValue(n)).toLowerCase())},alphanumericCaseSensitive:function(e,t,n){return D(j(e.getValue(n)),j(t.getValue(n)))},text:function(e,t,n){return B(j(e.getValue(n)).toLowerCase(),j(t.getValue(n)).toLowerCase())},textCaseSensitive:function(e,t,n){return B(j(e.getValue(n)),j(t.getValue(n)))},datetime:function(e,t,n){return B(e.getValue(n).getTime(),t.getValue(n).getTime())},basic:function(e,t,n){return B(e.getValue(n),t.getValue(n))}};function D(e,t){const n=e.split(O).filter(Boolean),l=t.split(O).filter(Boolean);for(;n.length&&l.length;){const e=n.shift(),t=l.shift(),o=parseInt(e,10),i=parseInt(t,10),r=[o,i].sort();if(isNaN(r[0])){if(e>t)return 1;if(t>e)return-1}else{if(isNaN(r[1]))return isNaN(o)?-1:1;if(o>i)return 1;if(i>o)return-1}}return n.length-l.length}function B(e,t){return e===t?0:e>t?1:-1}function j(e){return"number"==typeof e?isNaN(e)||e===1/0||e===-1/0?"":String(e):"string"==typeof e?e:""}const q={getInitialState:e=>({sorting:[],...e}),getDefaultColumn:()=>({sortingFn:"auto"}),getDefaultOptions:e=>({onSortingChange:n("sorting",e),isMultiSortEvent:e=>e.shiftKey}),createColumn:(e,t)=>({getAutoSortingFn:()=>{const n=t.getFilteredRowModel().flatRows.slice(100);let l=!1;for(const t of n){const n=null==t?void 0:t.getValue(e.id);if("[object Date]"===Object.prototype.toString.call(n))return T.datetime;if("string"==typeof n&&(l=!0,n.split(O).length>1))return T.alphanumeric}return l?T.text:T.basic},getAutoSortDir:()=>{const n=t.getFilteredRowModel().flatRows[0];return"string"==typeof(null==n?void 0:n.getValue(e.id))?"asc":"desc"},getSortingFn:()=>{var n;const o=t.options.sortingFns;if(!e)throw new Error;return l(e.sortingFn)?e.sortingFn:"auto"===e.sortingFn?e.getAutoSortingFn():null!=(n=null==o?void 0:o[e.sortingFn])?n:T[e.sortingFn]},toggleSorting:(n,l)=>{t.setSorting((o=>{var i,r,u,a;const s=null==o?void 0:o.find((t=>t.id===e.id)),g=null==o?void 0:o.findIndex((t=>t.id===e.id)),d=null!=n;let c,p=[];c=e.getCanMultiSort()&&l?s?"toggle":"add":null!=o&&o.length&&g!==o.length-1?"replace":s?"toggle":"replace";const f=null!=(i=null!=(r=e.sortDescFirst)?r:t.options.sortDescFirst)?i:"desc"===e.getAutoSortDir();if("toggle"!==c||null!=(u=t.options.enableSortingRemoval)&&!u||d||l&&null!=(a=t.options.enableMultiRemove)&&!a||(null!=s&&s.desc?f:!f)||(c="remove"),"replace"===c)p=[{id:e.id,desc:d?n:!!f}];else if("add"===c&&null!=o&&o.length){var m;p=[...o,{id:e.id,desc:d?n:!!f}],p.splice(0,p.length-(null!=(m=t.options.maxMultiSortColCount)?m:Number.MAX_SAFE_INTEGER))}else"toggle"===c&&null!=o&&o.length?p=o.map((t=>t.id===e.id?{...t,desc:d?n:!(null!=s&&s.desc)}:t)):"remove"===c&&null!=o&&o.length&&(p=o.filter((t=>t.id!==e.id)));return p}))},getCanSort:()=>{var n,l;return(null==(n=e.enableSorting)||n)&&(null==(l=t.options.enableSorting)||l)&&!!e.accessorFn},getCanMultiSort:()=>{var n,l;return null!=(n=null!=(l=e.enableMultiSort)?l:t.options.enableMultiSort)?n:!!e.accessorFn},getIsSorted:()=>{var n;const l=null==(n=t.getState().sorting)?void 0:n.find((t=>t.id===e.id));return!!l&&(l.desc?"desc":"asc")},getSortIndex:()=>{var n,l;return null!=(n=null==(l=t.getState().sorting)?void 0:l.findIndex((t=>t.id===e.id)))?n:-1},clearSorting:()=>{t.setSorting((t=>null!=t&&t.length?t.filter((t=>t.id!==e.id)):[]))},getToggleSortingHandler:()=>{const n=e.getCanSort();return l=>{n&&(null==l.persist||l.persist(),null==e.toggleSorting||e.toggleSorting(void 0,!!e.getCanMultiSort()&&(null==t.options.isMultiSortEvent?void 0:t.options.isMultiSortEvent(l))))}}}),createInstance:e=>({setSorting:t=>null==e.options.onSortingChange?void 0:e.options.onSortingChange(t),resetSorting:t=>{var n,l;e.setSorting(t?[]:null!=(n=null==(l=e.initialState)?void 0:l.sorting)?n:[])},getPreSortedRowModel:()=>e.getFilteredRowModel(),getSortedRowModel:()=>(!e._getSortedRowModel&&e.options.getSortedRowModel&&(e._getSortedRowModel=e.options.getSortedRowModel(e)),e.options.manualSorting||!e._getSortedRowModel?e.getPreSortedRowModel():e._getSortedRowModel())})},N={getInitialState:e=>({columnVisibility:{},...e}),getDefaultOptions:e=>({onColumnVisibilityChange:n("columnVisibility",e)}),getDefaultColumn:()=>({defaultIsVisible:!0}),createColumn:(e,t)=>({toggleVisibility:n=>{e.getCanHide()&&t.setColumnVisibility((t=>({...t,[e.id]:null!=n?n:!e.getIsVisible()})))},getIsVisible:()=>{var n,l;return null==(n=null==(l=t.getState().columnVisibility)?void 0:l[e.id])||n},getCanHide:()=>{var n,l;return(null==(n=e.enableHiding)||n)&&(null==(l=t.options.enableHiding)||l)},getToggleVisibilityHandler:()=>t=>{null==e.toggleVisibility||e.toggleVisibility(t.target.checked)}}),createRow:(e,t)=>({_getAllVisibleCells:i((()=>[e.getAllCells().filter((e=>e.column.getIsVisible())).map((e=>e.id)).join("_")]),(t=>e.getAllCells().filter((e=>e.column.getIsVisible()))),{key:"row._getAllVisibleCells",debug:()=>{var e;return null!=(e=t.options.debugAll)?e:t.options.debugRows}}),getVisibleCells:i((()=>[e.getLeftVisibleCells(),e.getCenterVisibleCells(),e.getRightVisibleCells()]),((e,t,n)=>[...e,...t,...n]),{key:!1,debug:()=>{var e;return null!=(e=t.options.debugAll)?e:t.options.debugRows}})}),createInstance:e=>{const t=(t,n)=>i((()=>[n(),n().filter((e=>e.getIsVisible())).map((e=>e.id)).join("_")]),(e=>e.filter((e=>null==e.getIsVisible?void 0:e.getIsVisible()))),{key:t,debug:()=>{var t;return null!=(t=e.options.debugAll)?t:e.options.debugColumns}});return{getVisibleFlatColumns:t("getVisibleFlatColumns",(()=>e.getAllFlatColumns())),getVisibleLeafColumns:t("getVisibleLeafColumns",(()=>e.getAllLeafColumns())),getLeftVisibleLeafColumns:t("getLeftVisibleLeafColumns",(()=>e.getLeftLeafColumns())),getRightVisibleLeafColumns:t("getRightVisibleLeafColumns",(()=>e.getRightLeafColumns())),getCenterVisibleLeafColumns:t("getCenterVisibleLeafColumns",(()=>e.getCenterLeafColumns())),setColumnVisibility:t=>null==e.options.onColumnVisibilityChange?void 0:e.options.onColumnVisibilityChange(t),resetColumnVisibility:t=>{var n;e.setColumnVisibility(t?{}:null!=(n=e.initialState.columnVisibility)?n:{})},toggleAllColumnsVisible:t=>{var n;t=null!=(n=t)?n:!e.getIsAllColumnsVisible(),e.setColumnVisibility(e.getAllLeafColumns().reduce(((e,n)=>({...e,[n.id]:t||!(null!=n.getCanHide&&n.getCanHide())})),{}))},getIsAllColumnsVisible:()=>!e.getAllLeafColumns().some((e=>!(null!=e.getIsVisible&&e.getIsVisible()))),getIsSomeColumnsVisible:()=>e.getAllLeafColumns().some((e=>null==e.getIsVisible?void 0:e.getIsVisible())),getToggleAllColumnsVisibilityHandler:()=>t=>{var n;e.toggleAllColumnsVisible(null==(n=t.target)?void 0:n.checked)}}}},U={createInstance:e=>({createHeader:(t,n)=>{var l;let o={id:null!=(l=n.id)?l:t.id,column:t,index:n.index,isPlaceholder:n.isPlaceholder,placeholderId:n.placeholderId,depth:n.depth,subHeaders:[],colSpan:0,rowSpan:0,headerGroup:null,getLeafHeaders:()=>{const e=[],t=n=>{n.subHeaders&&n.subHeaders.length&&n.subHeaders.map(t),e.push(n)};return t(o),e},renderHeader:()=>t.header?e.render(t.header,{instance:e,header:o,column:t}):null,renderFooter:()=>t.footer?e.render(t.footer,{instance:e,header:o,column:t}):null};return e._features.forEach((t=>{Object.assign(o,null==t.createHeader?void 0:t.createHeader(o,e))})),o},getHeaderGroups:i((()=>[e.getAllColumns(),e.getVisibleLeafColumns(),e.getState().columnPinning.left,e.getState().columnPinning.right]),((t,n,l,o)=>{const i=n.filter((e=>null==l?void 0:l.includes(e.id))),r=n.filter((e=>null==o?void 0:o.includes(e.id)));return X(t,[...i,...n.filter((e=>!(null!=l&&l.includes(e.id)||null!=o&&o.includes(e.id)))),...r],e)}),{key:!1,debug:()=>{var t;return null!=(t=e.options.debugAll)?t:e.options.debugHeaders}}),getCenterHeaderGroups:i((()=>[e.getAllColumns(),e.getVisibleLeafColumns(),e.getState().columnPinning.left,e.getState().columnPinning.right]),((t,n,l,o)=>X(t,n=n.filter((e=>!(null!=l&&l.includes(e.id)||null!=o&&o.includes(e.id)))),e,"center")),{key:!1,debug:()=>{var t;return null!=(t=e.options.debugAll)?t:e.options.debugHeaders}}),getLeftHeaderGroups:i((()=>[e.getAllColumns(),e.getVisibleLeafColumns(),e.getState().columnPinning.left]),((t,n,l)=>X(t,n=n.filter((e=>null==l?void 0:l.includes(e.id))),e,"left")),{key:!1,debug:()=>{var t;return null!=(t=e.options.debugAll)?t:e.options.debugHeaders}}),getRightHeaderGroups:i((()=>[e.getAllColumns(),e.getVisibleLeafColumns(),e.getState().columnPinning.right]),((t,n,l)=>X(t,n=n.filter((e=>null==l?void 0:l.includes(e.id))),e,"right")),{key:!1,debug:()=>{var t;return null!=(t=e.options.debugAll)?t:e.options.debugHeaders}}),getFooterGroups:i((()=>[e.getHeaderGroups()]),(e=>[...e].reverse()),{key:!1,debug:()=>{var t;return null!=(t=e.options.debugAll)?t:e.options.debugHeaders}}),getLeftFooterGroups:i((()=>[e.getLeftHeaderGroups()]),(e=>[...e].reverse()),{key:!1,debug:()=>{var t;return null!=(t=e.options.debugAll)?t:e.options.debugHeaders}}),getCenterFooterGroups:i((()=>[e.getCenterHeaderGroups()]),(e=>[...e].reverse()),{key:!1,debug:()=>{var t;return null!=(t=e.options.debugAll)?t:e.options.debugHeaders}}),getRightFooterGroups:i((()=>[e.getRightHeaderGroups()]),(e=>[...e].reverse()),{key:!1,debug:()=>{var t;return null!=(t=e.options.debugAll)?t:e.options.debugHeaders}}),getFlatHeaders:i((()=>[e.getHeaderGroups()]),(e=>e.map((e=>e.headers)).flat()),{key:!1,debug:()=>{var t;return null!=(t=e.options.debugAll)?t:e.options.debugHeaders}}),getLeftFlatHeaders:i((()=>[e.getLeftHeaderGroups()]),(e=>e.map((e=>e.headers)).flat()),{key:!1,debug:()=>{var t;return null!=(t=e.options.debugAll)?t:e.options.debugHeaders}}),getCenterFlatHeaders:i((()=>[e.getCenterHeaderGroups()]),(e=>e.map((e=>e.headers)).flat()),{key:!1,debug:()=>{var t;return null!=(t=e.options.debugAll)?t:e.options.debugHeaders}}),getRightFlatHeaders:i((()=>[e.getRightHeaderGroups()]),(e=>e.map((e=>e.headers)).flat()),{key:!1,debug:()=>{var t;return null!=(t=e.options.debugAll)?t:e.options.debugHeaders}}),getCenterLeafHeaders:i((()=>[e.getCenterFlatHeaders()]),(e=>e.filter((e=>{var t;return!(null!=(t=e.subHeaders)&&t.length)}))),{key:!1,debug:()=>{var t;return null!=(t=e.options.debugAll)?t:e.options.debugHeaders}}),getLeftLeafHeaders:i((()=>[e.getLeftFlatHeaders()]),(e=>e.filter((e=>{var t;return!(null!=(t=e.subHeaders)&&t.length)}))),{key:!1,debug:()=>{var t;return null!=(t=e.options.debugAll)?t:e.options.debugHeaders}}),getRightLeafHeaders:i((()=>[e.getRightFlatHeaders()]),(e=>e.filter((e=>{var t;return!(null!=(t=e.subHeaders)&&t.length)}))),{key:!1,debug:()=>{var t;return null!=(t=e.options.debugAll)?t:e.options.debugHeaders}}),getLeafHeaders:i((()=>[e.getLeftHeaderGroups(),e.getCenterHeaderGroups(),e.getRightHeaderGroups()]),((e,t,n)=>{var l,o,i,r,u,a;return[...null!=(l=null==(o=e[0])?void 0:o.headers)?l:[],...null!=(i=null==(r=t[0])?void 0:r.headers)?i:[],...null!=(u=null==(a=n[0])?void 0:a.headers)?u:[]].map((e=>e.getLeafHeaders())).flat()}),{key:!1,debug:()=>{var t;return null!=(t=e.options.debugAll)?t:e.options.debugHeaders}}),getHeader:t=>{const n=[...e.getFlatHeaders(),...e.getCenterFlatHeaders(),...e.getLeftFlatHeaders(),...e.getRightFlatHeaders()].find((e=>e.id===t));if(!n)throw new Error;return n}})};function X(e,t,n,l){var o,i;let r=0;const u=function(e,t){void 0===t&&(t=1),r=Math.max(r,t),e.filter((e=>e.getIsVisible())).forEach((e=>{var n;null!=(n=e.columns)&&n.length&&u(e.columns,t+1)}),0)};u(e);let a=[];const s=(e,t)=>{const o={depth:t,id:[l,""+t].filter(Boolean).join("_"),headers:[]},i=[];e.forEach((e=>{const r=[...i].reverse()[0];let u,a=!1;if(e.column.depth===o.depth&&e.column.parent?u=e.column.parent:(u=e.column,a=!0),(null==r?void 0:r.column)===u)r.subHeaders.push(e);else{const o=n.createHeader(u,{id:[l,t,u.id,null==e?void 0:e.id].filter(Boolean).join("_"),isPlaceholder:a,placeholderId:a?""+i.filter((e=>e.column===u)).length:void 0,depth:t,index:i.length});o.subHeaders.push(e),i.push(o)}o.headers.push(e),e.headerGroup=o})),a.push(o),t>0&&s(i,t-1)},g=t.map(((e,t)=>n.createHeader(e,{depth:r,index:t})));s(g,r-1),a.reverse();const d=e=>e.filter((e=>e.column.getIsVisible())).map((e=>{let t=0,n=0,l=[0];e.subHeaders&&e.subHeaders.length?(l=[],d(e.subHeaders).forEach((e=>{let{colSpan:n,rowSpan:o}=e;t+=n,l.push(o)}))):t=1;return n+=Math.min(...l),e.colSpan=t>0?t:void 0,e.rowSpan=n>0?n:void 0,{colSpan:t,rowSpan:n}}));return d(null!=(o=null==(i=a[0])?void 0:i.headers)?o:[]),a}function K(e,t,n){const l={generics:void 0,options:null!=n?n:{render:(()=>{throw new Error("")})()},setGenerics:()=>l,setRowType:()=>l,setTableMetaType:()=>l,setColumnMetaType:()=>l,setOptions:l=>K(e,t,{...n,...l}),createDisplayColumn:e=>({...e,columnDefType:"display"}),createGroup:e=>({...e,columnDefType:"group"}),createDataColumn:(e,t)=>{var n;if(t={...t,columnDefType:"data",id:t.id},"string"==typeof e)return{...t,id:null!=(n=t.id)?n:e,accessorKey:e};if("function"==typeof e)return{...t,accessorFn:e};throw new Error("Invalid accessor")}};return l}function J(e,t,n){return n.options.filterFromLeafRows?function(e,t,n){const l=[],o={};let i,r;const u=function(e,l){void 0===l&&(l=0);const a=[];for(let g=0;g<e.length;g++){var s;if(i=e[g],null!=(s=i.subRows)&&s.length){if(r=n.createRow(i.id,i.original,i.index,i.depth),r.columnFilterMap=i.columnFilterMap,r.subRows=u(i.subRows,l+1),!r.subRows.length)continue;i=r}t(i)&&(a.push(i),o[i.id]=i,o[g]=i)}return a};return{rows:u(e),flatRows:l,rowsById:o}}(e,t,n):function(e,t,n){const l=[],o={};let i,r,u;const a=function(e,s){void 0===s&&(s=0),i=[];for(let d=0;d<e.length;d++){r=e[d];var g;if(t(r))null!=(g=r.subRows)&&g.length&&(u=n.createRow(r.id,r.original,r.index,r.depth),u.subRows=a(r.subRows,s+1),r=u),i.push(r),l.push(r),o[r.id]=r}return i};return{rows:a(e),flatRows:l,rowsById:o}}(e,t,n)}function Q(e,t){const n=[],l=e=>{var o;n.push(e),t.options.expandSubRows&&null!=(o=e.subRows)&&o.length&&e.getIsExpanded()&&e.subRows.forEach(l)};return e.rows.forEach(l),{rows:n,flatRows:e.flatRows,rowsById:e.rowsById}}e.ColumnSizing=g,e.Expanding=f,e.Filters=y,e.Grouping=A,e.Headers=U,e.Ordering=E,e.Pagination=_,e.Pinning=G,e.RowSelection=H,e.Sorting=q,e.Visibility=N,e.buildHeaderGroups=X,e.createTableFactory=function(e){return()=>K(void 0,void 0,e)},e.createTableInstance=function(e){var n;(e.debugAll||e.debugTable)&&console.info("Creating Table Instance...");let l={_features:[r,u,a,U,N,E,G,y,q,A,f,_,H,g]};const o=l._features.reduce(((e,t)=>Object.assign(e,null==t.getDefaultOptions?void 0:t.getDefaultOptions(l))),{});let i={...null!=(n=e.initialState)?n:{}};l._features.forEach((e=>{var t;i=null!=(t=null==e.getInitialState?void 0:e.getInitialState(i))?t:i}));const s=[];let d=!1;const c={...l,options:{...o,...e},initialState:i,queue:e=>{s.push(e),d||(d=!0,Promise.resolve().then((()=>{for(;s.length;)s.shift()();d=!1})).catch((e=>setTimeout((()=>{throw e})))))},reset:()=>{l.setState(l.initialState)},setOptions:e=>{const n=t(e,l.options);l.options=(e=>l.options.mergeOptions?l.options.mergeOptions(o,e):{...o,...e})(n)},render:(e,t)=>"function"==typeof l.options.render?l.options.render(e,t):"function"==typeof e?e(t):e,getState:()=>l.options.state,setState:e=>{null==l.options.onStateChange||l.options.onStateChange(e)}};return l=Object.assign(l,c),l._features.forEach((e=>Object.assign(l,null==e.createInstance?void 0:e.createInstance(l)))),l},e.defaultColumnSizing=s,e.expandRows=Q,e.flattenBy=o,e.functionalUpdate=t,e.getCoreRowModel=function(){return e=>i((()=>[e.options.data]),(t=>{const n=[],l=[],o={},i=e.getAllLeafColumns(),r=function(t,n,u,a,s){void 0===u&&(u=0);const g=e.getRowId(t,n,s),d={};for(let e=0;e<i.length;e++){const l=i[e];l&&l.accessorFn&&(d[l.id]=l.accessorFn(t,n))}const c=e.createRow(g,t,n,u);if(a.push(c),l.push(c),o[g]=c,e.options.getSubRows){const l=e.options.getSubRows(t,n);if(null!=l&&l.length){c.originalSubRows=l;const e=[];for(let t=0;t<c.originalSubRows.length;t++)r(c.originalSubRows[t],t,u+1,e,c);c.subRows=e}}};for(let e=0;e<t.length;e++)r(t[e],e,0,n);return{rows:n,flatRows:l,rowsById:o}}),{key:!1,debug:()=>{var t;return null!=(t=e.options.debugAll)?t:e.options.debugTable},onChange:()=>{e._autoResetPageIndex()}})},e.getExpandedRowModel=function(){return e=>i((()=>[e.getState().expanded,e.getPreExpandedRowModel(),e.options.paginateExpandedRows]),((t,n,l)=>n.rows.length&&l&&(!0===t||Object.keys(null!=t?t:{}).length)?Q(n,e):n),{key:!1,debug:()=>{var t;return null!=(t=e.options.debugAll)?t:e.options.debugTable}})},e.getFacetedMinMaxValues=function(){return(e,t)=>i((()=>[e.getColumn(t).getFacetedRowModel()]),(e=>{var n;const l=null==(n=e.flatRows[0])?void 0:n.getValue(t);if(void 0===l)return;let o=[l,l];for(let n=0;n<e.flatRows.length;n++){var i;const l=null==(i=e.flatRows[n])?void 0:i.getValue(t);l<o[0]?o[0]=l:l>o[1]&&(o[1]=l)}return o}),{key:!1,debug:()=>{var t;return null!=(t=e.options.debugAll)?t:e.options.debugTable},onChange:()=>{}})},e.getFacetedRowModel=function(){return(e,t)=>i((()=>[e.getPreFilteredRowModel(),e.getState().columnFilters,e.getState().globalFilter,e.getFilteredRowModel()]),((n,l,o)=>{if(!n.rows.length||(null==l||!l.length)&&!o)return n;const i=[...l.map((e=>e.id)).filter((e=>e!==t)),o?"__global__":void 0].filter(Boolean);return J(n.rows,(e=>{for(let t=0;t<i.length;t++)if(!1===e.columnFilterMap[i[t]])return!1;return!0}),e)}),{key:!1,debug:()=>{var t;return null!=(t=e.options.debugAll)?t:e.options.debugTable},onChange:()=>{}})},e.getFacetedUniqueValues=function(){return(e,t)=>i((()=>[e.getColumn(t).getFacetedRowModel()]),(e=>{let n=new Map;for(let i=0;i<e.flatRows.length;i++){var l;const r=null==(l=e.flatRows[i])?void 0:l.getValue(t);var o;if(n.has(r))n.set(r,(null!=(o=n.get(r))?o:0)+1);else n.set(r,1)}return n}),{key:!1,debug:()=>{var t;return null!=(t=e.options.debugAll)?t:e.options.debugTable},onChange:()=>{}})},e.getFilteredRowModel=function(){return e=>i((()=>[e.getPreFilteredRowModel(),e.getState().columnFilters,e.getState().globalFilter]),((t,n,l)=>{if(!t.rows.length||(null==n||!n.length)&&!l)return t;const o=[],i=[];(null!=n?n:[]).forEach((t=>{var n;const l=e.getColumn(t.id).getFilterFn();l&&o.push({id:t.id,filterFn:l,resolvedValue:null!=(n=null==l.resolveFilterValue?void 0:l.resolveFilterValue(t.value))?n:t.value})}));const r=n.map((e=>e.id)),u=e.getGlobalFilterFn(),a=e.getAllLeafColumns().filter((e=>e.getCanGlobalFilter()));let s,g;l&&u&&a.length&&(r.push("__global__"),a.forEach((e=>{var t;i.push({id:e.id,filterFn:u,resolvedValue:null!=(t=null==u.resolveFilterValue?void 0:u.resolveFilterValue(l))?t:l})})));for(let e=0;e<t.flatRows.length;e++){const n=t.flatRows[e];if(n.columnFilterMap={},o.length)for(let e=0;e<o.length;e++)s=o[e],n.columnFilterMap[s.id]=s.filterFn(n,s.id,s.resolvedValue);if(i.length){for(let e=0;e<i.length;e++)if(g=i[e],g.filterFn(n,g.id,g.resolvedValue)){n.columnFilterMap.__global__=!0;break}!0!==n.columnFilterMap.__global__&&(n.columnFilterMap.__global__=!1)}}return J(t.rows,(e=>{for(let t=0;t<r.length;t++)if(!1===e.columnFilterMap[r[t]])return!1;return!0}),e)}),{key:!1,debug:()=>{var t;return null!=(t=e.options.debugAll)?t:e.options.debugTable},onChange:()=>{e._autoResetPageIndex()}})},e.getGroupedRowModel=function(){return e=>i((()=>[e.getState().grouping,e.getPreGroupedRowModel()]),((t,n)=>{if(!n.rows.length||!t.length)return n;const l=t.filter((t=>e.getColumn(t))),i=[],r={},u=function(t,n,a){if(void 0===n&&(n=0),n===l.length)return t;const s=l[n],g=function(e,t){const n=new Map;return e.reduce(((e,n)=>{const l=""+n.getValue(t),o=e.get(l);return o?e.set(l,[...o,n]):e.set(l,[n]),e}),n)}(t,s),d=Array.from(g.entries()).map(((t,g)=>{let[d,c]=t,p=s+":"+d;p=a?a+">"+p:p;const f=u(c,n+1,p),m=n?o(c,(e=>e.subRows)):c,b=e.createRow(p,void 0,g,n);return Object.assign(b,{groupingColumnId:s,groupingValue:d,subRows:f,leafRows:m,getValue:t=>{if(l.includes(t)){if(b.valuesCache.hasOwnProperty(t))return b.valuesCache[t];var o;if(c[0])b.valuesCache[t]=null!=(o=c[0].getValue(t))?o:void 0;return b.valuesCache[t]}if(b.groupingValuesCache.hasOwnProperty(t))return b.groupingValuesCache[t];const i=e.getColumn(t),r=i.getColumnAggregationFn();if(r)return b.groupingValuesCache[t]=r((()=>m.map((e=>{let l=e.getValue(t);return!n&&i.aggregateValue&&(l=i.aggregateValue(l)),l}))),(()=>c.map((e=>e.getValue(t))))),b.groupingValuesCache[t];if(i.aggregationFn)throw console.info({column:i}),new Error("")}}),f.forEach((e=>{i.push(e),r[e.id]=e})),b}));return d},a=u(n.rows,0,"");return a.forEach((e=>{i.push(e),r[e.id]=e})),{rows:a,flatRows:i,rowsById:r}}),{key:!1,debug:()=>{var t;return null!=(t=e.options.debugAll)?t:e.options.debugTable},onChange:()=>{e.queue((()=>{e._autoResetExpanded(),e._autoResetPageIndex()}))}})},e.getPaginationRowModel=function(e){return e=>i((()=>[e.getState().pagination,e.getPrePaginationRowModel()]),((t,n)=>{if(!n.rows.length)return n;const{pageSize:l,pageIndex:o}=t;let{rows:i,flatRows:r,rowsById:u}=n;const a=l*o,s=a+l;return i=i.slice(a,s),e.options.paginateExpandedRows?{rows:i,flatRows:r,rowsById:u}:Q({rows:i,flatRows:r,rowsById:u},e)}),{key:!1,debug:()=>{var t;return null!=(t=e.options.debugAll)?t:e.options.debugTable}})},e.getSortedRowModel=function(){return e=>i((()=>[e.getState().sorting,e.getPreSortedRowModel()]),((t,n)=>{if(!n.rows.length||null==t||!t.length)return n;const l=e.getState().sorting,o=[],i=l.filter((t=>e.getColumn(t.id).getCanSort())),r={};i.forEach((t=>{const n=e.getColumn(t.id);r[t.id]={sortUndefined:n.sortUndefined,invertSorting:n.invertSorting,sortingFn:n.getSortingFn()}}));const u=e=>{const t=e.slice();return t.sort(((e,t)=>{for(let l=0;l<i.length;l+=1){var n;const o=i[l],u=r[o.id],a=null!=(n=null==o?void 0:o.desc)&&n;if(u.sortUndefined){const n=void 0===e.getValue(o.id),l=void 0===t.getValue(o.id);if(n||l)return n&&l?0:n?u.sortUndefined:-u.sortUndefined}let s=u.sortingFn(e,t,o.id);if(0!==s)return a&&(s*=-1),u.invertSorting&&(s*=-1),s}return e.index-t.index})),t.forEach((e=>{o.push(e),!e.subRows||e.subRows.length<=1||(e.subRows=u(e.subRows))})),t};return{rows:u(n.rows),flatRows:o,rowsById:n.rowsById}}),{key:!1,debug:()=>{var t;return null!=(t=e.options.debugAll)?t:e.options.debugTable},onChange:()=>{e._autoResetPageIndex()}})},e.isFunction=l,e.isRowSelected=k,e.makeStateUpdater=n,e.memo=i,e.noop=function(){},e.orderColumns=P,e.passiveEventSupported=c,e.selectRowsFn=L,e.shouldAutoRemoveFilter=V,Object.defineProperty(e,"__esModule",{value:!0})}));
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TableCore={})}(this,(function(e){"use strict";function t(e,t){return"function"==typeof e?e(t):e}function n(e,n){return l=>{n.setState((n=>({...n,[e]:t(l,n[e])})))}}function l(e){return e instanceof Function}function o(e,t){const n=[],l=e=>{e.forEach((e=>{n.push(e);const o=t(e);null!=o&&o.length&&l(o)}))};return l(e),n}function i(e,t,n){let l,o=[];return()=>{let i;n.key&&n.debug&&(i=Date.now());const r=e();if(!(r.length!==o.length||r.some(((e,t)=>o[t]!==e))))return l;let u;if(o=r,n.key&&n.debug&&(u=Date.now()),l=t(...r),null==n||null==n.onChange||n.onChange(l),n.key&&n.debug&&null!=n&&n.debug()){const e=Math.round(100*(Date.now()-i))/100,t=Math.round(100*(Date.now()-u))/100,l=t/16,o=(e,t)=>{for(e=String(e);e.length<t;)e=" "+e;return e};console.info("%c⏱ "+o(t,5)+" /"+o(e,5)+" ms","\n font-size: .6rem;\n font-weight: bold;\n color: hsl("+Math.max(0,Math.min(120-120*l,120))+"deg 100% 31%);",null==n?void 0:n.key)}return l}}const r={createInstance:e=>({getDefaultColumn:i((()=>[e.options.defaultColumn]),(t=>{var n;return t=null!=(n=t)?n:{},{header:e=>e.header.column.id,footer:e=>e.header.column.id,cell:e=>{var t,n,l;return null!=(t=null==(n=(l=e.getValue()).toString)?void 0:n.call(l))?t:null},...e._features.reduce(((e,t)=>Object.assign(e,null==t.getDefaultColumn?void 0:t.getDefaultColumn())),{}),...t}}),{debug:()=>{var t;return null!=(t=e.options.debugAll)?t:e.options.debugColumns},key:!1}),getColumnDefs:()=>e.options.columns,createColumn:(t,n,l)=>{var o,r;const u=e.getDefaultColumn();let a,s=null!=(o=null!=(r=t.id)?r:t.accessorKey)?o:"string"==typeof t.header?t.header:void 0;if(t.accessorFn?a=t.accessorFn:t.accessorKey&&(a=e=>e[t.accessorKey]),!s)throw new Error;let g={...u,...t,id:""+s,accessorFn:a,parent:l,depth:n,columnDef:t,columnDefType:t.columnDefType,columns:[],getFlatColumns:i((()=>[!0]),(()=>{var e;return[g,...null==(e=g.columns)?void 0:e.flatMap((e=>e.getFlatColumns()))]}),{key:"column.getFlatColumns",debug:()=>{var t;return null!=(t=e.options.debugAll)?t:e.options.debugColumns}}),getLeafColumns:i((()=>[e._getOrderColumnsFn()]),(e=>{var t;if(null!=(t=g.columns)&&t.length){let t=g.columns.flatMap((e=>e.getLeafColumns()));return e(t)}return[g]}),{key:"column.getLeafColumns",debug:()=>{var t;return null!=(t=e.options.debugAll)?t:e.options.debugColumns}})};return g=e._features.reduce(((t,n)=>Object.assign(t,null==n.createColumn?void 0:n.createColumn(g,e))),g),g},getAllColumns:i((()=>[e.getColumnDefs()]),(t=>{const n=function(t,l,o){return void 0===o&&(o=0),t.map((t=>{const i=e.createColumn(t,o,l);return i.columns=t.columns?n(t.columns,i,o+1):[],i}))};return n(t)}),{key:!1,debug:()=>{var t;return null!=(t=e.options.debugAll)?t:e.options.debugColumns}}),getAllFlatColumns:i((()=>[e.getAllColumns()]),(e=>e.flatMap((e=>e.getFlatColumns()))),{key:!1,debug:()=>{var t;return null!=(t=e.options.debugAll)?t:e.options.debugColumns}}),getAllFlatColumnsById:i((()=>[e.getAllFlatColumns()]),(e=>e.reduce(((e,t)=>(e[t.id]=t,e)),{})),{key:!1,debug:()=>{var t;return null!=(t=e.options.debugAll)?t:e.options.debugColumns}}),getAllLeafColumns:i((()=>[e.getAllColumns(),e._getOrderColumnsFn()]),((e,t)=>t(e.flatMap((e=>e.getLeafColumns())))),{key:!1,debug:()=>{var t;return null!=(t=e.options.debugAll)?t:e.options.debugColumns}}),getColumn:t=>{const n=e.getAllFlatColumnsById()[t];if(!n)throw new Error;return n}})},u={createInstance:e=>({getRowId:(t,n,l)=>{var o;return null!=(o=null==e.options.getRowId?void 0:e.options.getRowId(t,n,l))?o:""+(l?[l.id,n].join("."):n)},createRow:(t,n,l,i,r)=>{let u={id:t,index:l,original:n,depth:i,valuesCache:{},getValue:t=>{if(u.valuesCache.hasOwnProperty(t))return u.valuesCache[t];const n=e.getColumn(t);if(!n.accessorFn)throw new Error;return u.valuesCache[t]=n.accessorFn(u.original,l),u.valuesCache[t]},subRows:null!=r?r:[],getLeafRows:()=>o(u.subRows,(e=>e.subRows))};for(let t=0;t<e._features.length;t++){const n=e._features[t];Object.assign(u,null==n||null==n.createRow?void 0:n.createRow(u,e))}return u},getCoreRowModel:()=>(e._getCoreRowModel||(e._getCoreRowModel=e.options.getCoreRowModel(e)),e._getCoreRowModel()),getRowModel:()=>e.getPaginationRowModel(),getRow:t=>{const n=e.getRowModel().rowsById[t];if(!n)throw new Error;return n}})},a={createRow:(e,t)=>({getAllCells:i((()=>[t.getAllLeafColumns()]),(n=>n.map((n=>t.createCell(e,n,n.id)))),{key:!1,debug:()=>{var e;return null!=(e=t.options.debugAll)?e:t.options.debugRows}}),getAllCellsByColumnId:i((()=>[e.getAllCells()]),(e=>e.reduce(((e,t)=>(e[t.columnId]=t,e)),{})),{key:"row.getAllCellsByColumnId",debug:()=>{var e;return null!=(e=t.options.debugAll)?e:t.options.debugRows}})}),createInstance:e=>({createCell:(t,n,l)=>{const o={id:t.id+"_"+n.id,rowId:t.id,columnId:l,row:t,column:n,getValue:()=>t.getValue(l),renderCell:()=>n.cell?e._render(n.cell,{instance:e,column:n,row:t,cell:o,getValue:o.getValue}):null};return e._features.forEach((l=>{Object.assign(o,null==l.createCell?void 0:l.createCell(o,n,t,e))}),{}),o},getCell:(t,n)=>{const l=e.getRow(t);if(!l)throw new Error;const o=l.getAllCellsByColumnId()[n];if(!o)throw new Error;return o}})},s={size:150,minSize:20,maxSize:Number.MAX_SAFE_INTEGER},g={getDefaultColumn:()=>s,getInitialState:e=>({columnSizing:{},columnSizingInfo:{startOffset:null,startSize:null,deltaOffset:null,deltaPercentage:null,isResizingColumn:!1,columnSizingStart:[]},...e}),getDefaultOptions:e=>({columnResizeMode:"onEnd",onColumnSizingChange:n("columnSizing",e),onColumnSizingInfoChange:n("columnSizingInfo",e)}),createColumn:(e,t)=>({getSize:()=>{var n,l,o;const i=t.getState().columnSizing[e.id];return Math.min(Math.max(null!=(n=e.minSize)?n:s.minSize,null!=(l=null!=i?i:e.size)?l:s.size),null!=(o=e.maxSize)?o:s.maxSize)},getStart:n=>{const l=n?"left"===n?t.getLeftVisibleLeafColumns():t.getRightVisibleLeafColumns():t.getVisibleLeafColumns(),o=l.findIndex((t=>t.id===e.id));if(o>0){const e=l[o-1];return e.getStart(n)+e.getSize()}return 0},resetSize:()=>{t.setColumnSizing((t=>{let{[e.id]:n,...l}=t;return l}))},getCanResize:()=>{var n,l;return(null==(n=e.enableResizing)||n)&&(null==(l=t.options.enableColumnResizing)||l)},getIsResizing:()=>t.getState().columnSizingInfo.isResizingColumn===e.id}),createHeader:(e,t)=>({getSize:()=>{let t=0;const n=e=>{var l;e.subHeaders.length?e.subHeaders.forEach(n):t+=null!=(l=e.column.getSize())?l:0};return n(e),t},getStart:()=>{if(e.index>0){const t=e.headerGroup.headers[e.index-1];return t.getStart()+t.getSize()}return 0},getResizeHandler:()=>{const n=t.getColumn(e.column.id),l=n.getCanResize();return o=>{if(!l)return;if(null==o.persist||o.persist(),p(o)&&o.touches&&o.touches.length>1)return;const i=n.getSize(),r=e?e.getLeafHeaders().map((e=>[e.column.id,e.column.getSize()])):[[n.id,n.getSize()]],u=p(o)?Math.round(o.touches[0].clientX):o.clientX,a=(e,n)=>{if("number"!=typeof n)return;let l={};t.setColumnSizingInfo((e=>{var t,o;const i=n-(null!=(t=null==e?void 0:e.startOffset)?t:0),r=Math.max(i/(null!=(o=null==e?void 0:e.startSize)?o:0),-.999999);return e.columnSizingStart.forEach((e=>{let[t,n]=e;l[t]=Math.round(100*Math.max(n+n*r,0))/100})),{...e,deltaOffset:i,deltaPercentage:r}})),"onChange"!==t.options.columnResizeMode&&"end"!==e||t.setColumnSizing((e=>({...e,...l})))},s={moveHandler:e=>{return t=e.clientX,a("move",t);var t},upHandler:e=>{var n;document.removeEventListener("mousemove",s.moveHandler),document.removeEventListener("mouseup",s.upHandler),n=e.clientX,a("end",n),t.setColumnSizingInfo((e=>({...e,isResizingColumn:!1,startOffset:null,startSize:null,deltaOffset:null,deltaPercentage:null,columnSizingStart:[]})))}},g=!!c()&&{passive:!1};p(o)||(document.addEventListener("mousemove",s.moveHandler,g),document.addEventListener("mouseup",s.upHandler,g)),t.setColumnSizingInfo((e=>({...e,startOffset:u,startSize:i,deltaOffset:0,deltaPercentage:0,columnSizingStart:r,isResizingColumn:n.id})))}}}),createInstance:e=>({setColumnSizing:t=>null==e.options.onColumnSizingChange?void 0:e.options.onColumnSizingChange(t),setColumnSizingInfo:t=>null==e.options.onColumnSizingInfoChange?void 0:e.options.onColumnSizingInfoChange(t),resetColumnSizing:t=>{var n;e.setColumnSizing(t?{}:null!=(n=e.initialState.columnSizing)?n:{})},resetHeaderSizeInfo:t=>{var n;e.setColumnSizingInfo(t?{startOffset:null,startSize:null,deltaOffset:null,deltaPercentage:null,isResizingColumn:!1,columnSizingStart:[]}:null!=(n=e.initialState.columnSizingInfo)?n:{startOffset:null,startSize:null,deltaOffset:null,deltaPercentage:null,isResizingColumn:!1,columnSizingStart:[]})},getTotalSize:()=>{var t,n;return null!=(t=null==(n=e.getHeaderGroups()[0])?void 0:n.headers.reduce(((e,t)=>e+t.getSize()),0))?t:0},getLeftTotalSize:()=>{var t,n;return null!=(t=null==(n=e.getLeftHeaderGroups()[0])?void 0:n.headers.reduce(((e,t)=>e+t.getSize()),0))?t:0},getCenterTotalSize:()=>{var t,n;return null!=(t=null==(n=e.getCenterHeaderGroups()[0])?void 0:n.headers.reduce(((e,t)=>e+t.getSize()),0))?t:0},getRightTotalSize:()=>{var t,n;return null!=(t=null==(n=e.getRightHeaderGroups()[0])?void 0:n.headers.reduce(((e,t)=>e+t.getSize()),0))?t:0}})};let d=null;function c(){if("boolean"==typeof d)return d;let e=!1;try{const t={get passive(){return e=!0,!1}},n=()=>{};window.addEventListener("test",n,t),window.removeEventListener("test",n)}catch(t){e=!1}return d=e,d}function p(e){return"touchstart"===e.type}const f={getInitialState:e=>({expanded:{},...e}),getDefaultOptions:e=>({onExpandedChange:n("expanded",e),autoResetExpanded:!0,expandSubRows:!0,paginateExpandedRows:!0}),createInstance:e=>{let t=!1,n=!1;return{_autoResetExpanded:()=>{if(t){if(!1!==e.options.autoResetAll&&(!0===e.options.autoResetAll||e.options.autoResetExpanded)){if(n)return;n=!0,e._queue((()=>{e.resetExpanded(),n=!1}))}}else e._queue((()=>{t=!0}))},setExpanded:t=>null==e.options.onExpandedChange?void 0:e.options.onExpandedChange(t),toggleAllRowsExpanded:t=>{(null!=t?t:!e.getIsAllRowsExpanded())?e.setExpanded(!0):e.setExpanded({})},resetExpanded:t=>{var n,l;e.setExpanded(t?{}:null!=(n=null==(l=e.initialState)?void 0:l.expanded)?n:{})},getCanSomeRowsExpand:()=>e.getRowModel().flatRows.some((e=>e.getCanExpand())),getToggleAllRowsExpandedHandler:()=>t=>{null==t.persist||t.persist(),e.toggleAllRowsExpanded()},getIsSomeRowsExpanded:()=>{const t=e.getState().expanded;return!0===t||Object.values(t).some(Boolean)},getIsAllRowsExpanded:()=>!0===e.getState().expanded||!e.getRowModel().flatRows.some((e=>e.getIsExpanded())),getExpandedDepth:()=>{let t=0;return(!0===e.getState().expanded?Object.keys(e.getRowModel().rowsById):Object.keys(e.getState().expanded)).forEach((e=>{const n=e.split(".");t=Math.max(t,n.length)})),t},getPreExpandedRowModel:()=>e.getGroupedRowModel(),getExpandedRowModel:()=>(!e._getExpandedRowModel&&e.options.getExpandedRowModel&&(e._getExpandedRowModel=e.options.getExpandedRowModel(e)),e.options.manualExpanding||!e._getExpandedRowModel?e.getPreExpandedRowModel():e._getExpandedRowModel())}},createRow:(e,t)=>({toggleExpanded:n=>{t.setExpanded((l=>{var o;const i=!0===l||!(null==l||!l[e.id]);let r={};if(!0===l?Object.keys(t.getRowModel().rowsById).forEach((e=>{r[e]=!0})):r=l,n=null!=(o=n)?o:!i,!i&&n)return{...r,[e.id]:!0};if(i&&!n){const{[e.id]:t,...n}=r;return n}return l}))},getIsExpanded:()=>{var n;const l=t.getState().expanded;return!!(null!=(n=null==t.options.getIsRowExpanded?void 0:t.options.getIsRowExpanded(e))?n:!0===l||(null==l?void 0:l[e.id]))},getCanExpand:()=>{var n,l,o;return(null==(n=null==t.options.getRowCanExpand?void 0:t.options.getRowCanExpand(e))||n)&&(null==(l=t.options.enableExpanding)||l)&&!(null==(o=e.subRows)||!o.length)},getToggleExpandedHandler:()=>{const t=e.getCanExpand();return()=>{t&&e.toggleExpanded()}}})},m=(e,t,n)=>{const l=n.toLowerCase();return e.getValue(t).toLowerCase().includes(l)};m.autoRemove=e=>I(e);const b=(e,t,n)=>e.getValue(t).includes(n);b.autoRemove=e=>I(e);const w=(e,t,n)=>e.getValue(t).toLowerCase()===n.toLowerCase();w.autoRemove=e=>I(e);const C=(e,t,n)=>e.getValue(t).includes(n);C.autoRemove=e=>I(e)||!(null!=e&&e.length);const h=(e,t,n)=>!n.some((n=>!e.getValue(t).includes(n)));h.autoRemove=e=>I(e)||!(null!=e&&e.length);const v=(e,t,n)=>n.some((n=>e.getValue(t).includes(n)));v.autoRemove=e=>I(e)||!(null!=e&&e.length);const S=(e,t,n)=>e.getValue(t)===n;S.autoRemove=e=>I(e);const R=(e,t,n)=>e.getValue(t)==n;R.autoRemove=e=>I(e);const F=(e,t,n)=>{let[l,o]=n;const i=e.getValue(t);return i>=l&&i<=o};F.resolveFilterValue=e=>{let[t,n]=e,l="number"!=typeof t?parseFloat(t):t,o="number"!=typeof n?parseFloat(n):n,i=null===t||Number.isNaN(l)?-1/0:l,r=null===n||Number.isNaN(o)?1/0:o;if(i>r){const e=i;i=r,r=e}return[i,r]},F.autoRemove=e=>I(e)||I(e[0])&&I(e[1]);const M={includesString:m,includesStringSensitive:b,equalsString:w,arrIncludes:C,arrIncludesAll:h,arrIncludesSome:v,equals:S,weakEquals:R,inNumberRange:F};function I(e){return null==e||""===e}const y={getDefaultColumn:()=>({filterFn:"auto"}),getInitialState:e=>({columnFilters:[],globalFilter:void 0,...e}),getDefaultOptions:e=>({onColumnFiltersChange:n("columnFilters",e),onGlobalFilterChange:n("globalFilter",e),filterFromLeafRows:!1,globalFilterFn:"auto",getColumnCanGlobalFilter:t=>{var n,l;return"string"==typeof(null==(n=e.getCoreRowModel().flatRows[0])||null==(l=n.getAllCellsByColumnId()[t.id])?void 0:l.getValue())}}),createColumn:(e,n)=>({filterFn:e.filterFn,getAutoFilterFn:()=>{const t=n.getCoreRowModel().flatRows[0],l=null==t?void 0:t.getValue(e.id);return"string"==typeof l?M.includesString:"number"==typeof l?M.inNumberRange:null!==l&&"object"==typeof l?M.equals:Array.isArray(l)?M.arrIncludes:M.weakEquals},getFilterFn:()=>{var t;const o=n.options.filterFns;return l(e.filterFn)?e.filterFn:"auto"===e.filterFn?e.getAutoFilterFn():null!=(t=null==o?void 0:o[e.filterFn])?t:M[e.filterFn]},getCanFilter:()=>{var t,l,o;return(null==(t=e.enableColumnFilter)||t)&&(null==(l=n.options.enableColumnFilters)||l)&&(null==(o=n.options.enableFilters)||o)&&!!e.accessorFn},getCanGlobalFilter:()=>{var t,l,o,i;return(null==(t=e.enableGlobalFilter)||t)&&(null==(l=n.options.enableGlobalFilter)||l)&&(null==(o=n.options.enableFilters)||o)&&(null==(i=null==n.options.getColumnCanGlobalFilter?void 0:n.options.getColumnCanGlobalFilter(e))||i)&&!!e.accessorFn},getIsFiltered:()=>e.getFilterIndex()>-1,getFilterValue:()=>{var t,l;return null==(t=n.getState().columnFilters)||null==(l=t.find((t=>t.id===e.id)))?void 0:l.value},getFilterIndex:()=>{var t,l;return null!=(t=null==(l=n.getState().columnFilters)?void 0:l.findIndex((t=>t.id===e.id)))?t:-1},setFilterValue:l=>{n.setColumnFilters((n=>{const o=e.getFilterFn(),i=null==n?void 0:n.find((t=>t.id===e.id)),r=t(l,i?i.value:void 0);var u;if(V(o,r,e))return null!=(u=null==n?void 0:n.filter((t=>t.id!==e.id)))?u:[];const a={id:e.id,value:r};var s;return i?null!=(s=null==n?void 0:n.map((t=>t.id===e.id?a:t)))?s:[]:null!=n&&n.length?[...n,a]:[a]}))},_getFacetedRowModel:n.options.getFacetedRowModel&&n.options.getFacetedRowModel(n,e.id),getFacetedRowModel:()=>e._getFacetedRowModel?e._getFacetedRowModel():n.getPreFilteredRowModel(),_getFacetedUniqueValues:n.options.getFacetedUniqueValues&&n.options.getFacetedUniqueValues(n,e.id),getFacetedUniqueValues:()=>e._getFacetedUniqueValues?e._getFacetedUniqueValues():new Map,_getFacetedMinMaxValues:n.options.getFacetedMinMaxValues&&n.options.getFacetedMinMaxValues(n,e.id),getFacetedMinMaxValues:()=>{if(e._getFacetedMinMaxValues)return e._getFacetedMinMaxValues()}}),createRow:(e,t)=>({columnFilterMap:{},subRowsByFacetId:{}}),createInstance:e=>({getGlobalAutoFilterFn:()=>M.includesString,getGlobalFilterFn:()=>{var t;const{filterFns:n,globalFilterFn:o}=e.options;return l(o)?o:"auto"===o?e.getGlobalAutoFilterFn():null!=(t=null==n?void 0:n[o])?t:M[o]},setColumnFilters:n=>{const l=e.getAllLeafColumns();null==e.options.onColumnFiltersChange||e.options.onColumnFiltersChange((e=>{var o;return null==(o=t(n,e))?void 0:o.filter((e=>{const t=l.find((t=>t.id===e.id));if(t){if(V(t.getFilterFn(),e.value,t))return!1}return!0}))}))},setGlobalFilter:t=>{null==e.options.onGlobalFilterChange||e.options.onGlobalFilterChange(t)},resetGlobalFilter:t=>{e.setGlobalFilter(t?void 0:e.initialState.globalFilter)},resetColumnFilters:t=>{var n,l;e.setColumnFilters(t?[]:null!=(n=null==(l=e.initialState)?void 0:l.columnFilters)?n:[])},getPreFilteredRowModel:()=>e.getCoreRowModel(),_getFilteredRowModel:e.options.getFilteredRowModel&&e.options.getFilteredRowModel(e),getFilteredRowModel:()=>e.options.manualFiltering||!e._getFilteredRowModel?e.getPreFilteredRowModel():e._getFilteredRowModel(),_getGlobalFacetedRowModel:e.options.getFacetedRowModel&&e.options.getFacetedRowModel(e,"__global__"),getGlobalFacetedRowModel:()=>e.options.manualFiltering||!e._getGlobalFacetedRowModel?e.getPreFilteredRowModel():e._getGlobalFacetedRowModel(),_getGlobalFacetedUniqueValues:e.options.getFacetedUniqueValues&&e.options.getFacetedUniqueValues(e,"__global__"),getGlobalFacetedUniqueValues:()=>e._getGlobalFacetedUniqueValues?e._getGlobalFacetedUniqueValues():new Map,_getGlobalFacetedMinMaxValues:e.options.getFacetedMinMaxValues&&e.options.getFacetedMinMaxValues(e,"__global__"),getGlobalFacetedMinMaxValues:()=>{if(e._getGlobalFacetedMinMaxValues)return e._getGlobalFacetedMinMaxValues()}})};function V(e,t,n){return!(!e||!e.autoRemove)&&e.autoRemove(t,n)||void 0===t||"string"==typeof t&&!t}const x={sum:function(e,t){return t().reduce(((e,t)=>e+("number"==typeof t?t:0)),0)},min:function(e,t){let n;for(const e of t())null!=e&&(n>e||void 0===n&&e>=e)&&(n=e);return n},max:function(e,t){let n;for(const e of t())null!=e&&(n<e||void 0===n&&e>=e)&&(n=e);return n},extent:function(e,t){let n,l;for(const e of t())null!=e&&(void 0===n?e>=e&&(n=l=e):(n>e&&(n=e),l<e&&(l=e)));return[n,l]},mean:function(e){let t=0,n=0;for(let l of e())null!=l&&(l=+l)>=l&&(++t,n+=l);return t?n/t:void 0},median:function(e){const t=e();if(!t.length)return;let n=0,l=0;return t.forEach((e=>{"number"==typeof e&&(n=Math.min(n,e),l=Math.max(l,e))})),(n+l)/2},unique:function(e){return Array.from(new Set(e()).values())},uniqueCount:function(e){return new Set(e()).size},count:function(e){return e().length}};const A={getDefaultColumn:()=>({aggregationFn:"auto"}),getInitialState:e=>({grouping:[],...e}),getDefaultOptions:e=>({onGroupingChange:n("grouping",e),groupedColumnMode:"reorder"}),createColumn:(e,t)=>({toggleGrouping:()=>{t.setGrouping((t=>null!=t&&t.includes(e.id)?t.filter((t=>t!==e.id)):[...null!=t?t:[],e.id]))},getCanGroup:()=>{var n,l,o,i;return null!=(n=null==(l=null!=(o=null==(i=e.enableGrouping)||i)?o:t.options.enableGrouping)||l)?n:!!e.accessorFn},getIsGrouped:()=>{var n;return null==(n=t.getState().grouping)?void 0:n.includes(e.id)},getGroupedIndex:()=>{var n;return null==(n=t.getState().grouping)?void 0:n.indexOf(e.id)},getToggleGroupingHandler:()=>{const t=e.getCanGroup();return()=>{t&&e.toggleGrouping()}},getColumnAutoAggregationFn:()=>{const n=t.getCoreRowModel().flatRows[0],l=null==n?void 0:n.getValue(e.id);return"number"==typeof l?x.sum:"[object Date]"===Object.prototype.toString.call(l)?x.extent:x.count},getColumnAggregationFn:()=>{var n;const o=t.options.aggregationFns;if(!e)throw new Error;return l(e.aggregationFn)?e.aggregationFn:"auto"===e.aggregationFn?e.getColumnAutoAggregationFn():null!=(n=null==o?void 0:o[e.aggregationFn])?n:x[e.aggregationFn]}}),createInstance:e=>({setGrouping:t=>null==e.options.onGroupingChange?void 0:e.options.onGroupingChange(t),resetGrouping:t=>{var n,l;e.setGrouping(t?[]:null!=(n=null==(l=e.initialState)?void 0:l.grouping)?n:[])},getPreGroupedRowModel:()=>e.getSortedRowModel(),getGroupedRowModel:()=>(!e._getGroupedRowModel&&e.options.getGroupedRowModel&&(e._getGroupedRowModel=e.options.getGroupedRowModel(e)),e.options.manualGrouping||!e._getGroupedRowModel?e.getPreGroupedRowModel():e._getGroupedRowModel())}),createRow:(e,t)=>({getIsGrouped:()=>!!e.groupingColumnId,groupingValuesCache:{}}),createCell:(e,t,n,l)=>({getIsGrouped:()=>t.getIsGrouped()&&t.id===n.groupingColumnId,getIsPlaceholder:()=>!e.getIsGrouped()&&t.getIsGrouped(),getIsAggregated:()=>{var t;return!e.getIsGrouped()&&!e.getIsPlaceholder()&&(null==(t=n.subRows)?void 0:t.length)>1},renderAggregatedCell:()=>{var o;const i=null!=(o=t.aggregatedCell)?o:t.cell;return i?l._render(i,{instance:l,column:t,row:n,cell:e,getValue:e.getValue}):null}})};function P(e,t,n){if(null==t||!t.length||!n)return e;const l=e.filter((e=>!t.includes(e.id)));if("remove"===n)return l;return[...t.map((t=>e.find((e=>e.id===t)))).filter(Boolean),...l]}const _={getInitialState:e=>({columnOrder:[],...e}),getDefaultOptions:e=>({onColumnOrderChange:n("columnOrder",e)}),createInstance:e=>({setColumnOrder:t=>null==e.options.onColumnOrderChange?void 0:e.options.onColumnOrderChange(t),resetColumnOrder:t=>{var n;e.setColumnOrder(t?[]:null!=(n=e.initialState.columnOrder)?n:[])},_getOrderColumnsFn:i((()=>[e.getState().columnOrder,e.getState().grouping,e.options.groupedColumnMode]),((e,t,n)=>l=>{let o=[];if(null!=e&&e.length){const t=[...e],n=[...l];for(;n.length&&t.length;){const e=t.shift(),l=n.findIndex((t=>t.id===e));l>-1&&o.push(n.splice(l,1)[0])}o=[...o,...n]}else o=l;return P(o,t,n)}),{key:!1})})},E={getInitialState:e=>({...e,pagination:{pageIndex:0,pageSize:10,...null==e?void 0:e.pagination}}),getDefaultOptions:e=>({onPaginationChange:n("pagination",e)}),createInstance:e=>{let n=!1,l=!1;return{_autoResetPageIndex:()=>{var t,o;if(n){if(null!=(t=null!=(o=e.options.autoResetAll)?o:e.options.autoResetPageIndex)?t:!e.options.manualPagination){if(l)return;l=!0,e._queue((()=>{e.resetPageIndex(),l=!1}))}}else e._queue((()=>{n=!0}))},setPagination:n=>null==e.options.onPaginationChange?void 0:e.options.onPaginationChange((e=>t(n,e))),resetPagination:t=>{var n;e.setPagination(t?{pageIndex:0,pageSize:10}:null!=(n=e.initialState.pagination)?n:{pageIndex:0,pageSize:10})},setPageIndex:n=>{e.setPagination((e=>{let l=t(n,e.pageIndex);const o=void 0!==e.pageCount?e.pageCount-1:Number.MAX_SAFE_INTEGER;return l=Math.min(Math.max(0,l),o),{...e,pageIndex:l}}))},resetPageIndex:t=>{var n,l,o;e.setPageIndex(t?0:null!=(n=null==(l=e.initialState)||null==(o=l.pagination)?void 0:o.pageIndex)?n:0)},resetPageSize:t=>{var n,l,o;e.setPageSize(t?10:null!=(n=null==(l=e.initialState)||null==(o=l.pagination)?void 0:o.pageSize)?n:10)},setPageSize:n=>{e.setPagination((e=>{const l=Math.max(1,t(n,e.pageSize)),o=e.pageSize*e.pageIndex,i=Math.floor(o/l);return{...e,pageIndex:i,pageSize:l}}))},setPageCount:n=>e.setPagination((e=>{var l;let o=t(n,null!=(l=e.pageCount)?l:-1);return"number"==typeof o&&(o=Math.max(-1,o)),{...e,pageCount:o}})),getPageOptions:i((()=>[e.getState().pagination.pageSize,e.getState().pagination.pageCount]),((e,t)=>{let n=[];return t&&t>0&&(n=[...new Array(t)].fill(null).map(((e,t)=>t))),n}),{key:!1,debug:()=>{var t;return null!=(t=e.options.debugAll)?t:e.options.debugTable}}),getCanPreviousPage:()=>e.getState().pagination.pageIndex>0,getCanNextPage:()=>{const{pageIndex:t}=e.getState().pagination,n=e.getPageCount();return-1===n||0!==n&&t<n-1},previousPage:()=>e.setPageIndex((e=>e-1)),nextPage:()=>e.setPageIndex((e=>e+1)),getPrePaginationRowModel:()=>e.getExpandedRowModel(),getPaginationRowModel:()=>(!e._getPaginationRowModel&&e.options.getPaginationRowModel&&(e._getPaginationRowModel=e.options.getPaginationRowModel(e)),e.options.manualPagination||!e._getPaginationRowModel?e.getPrePaginationRowModel():e._getPaginationRowModel()),getPageCount:()=>{const{pageCount:t}=e.getState().pagination;return void 0!==t?t:Math.ceil(e.getPrePaginationRowModel().rows.length/e.getState().pagination.pageSize)}}}},G={getInitialState:e=>({columnPinning:{left:[],right:[]},...e}),getDefaultOptions:e=>({onColumnPinningChange:n("columnPinning",e)}),createColumn:(e,t)=>({pin:n=>{const l=e.getLeafColumns().map((e=>e.id)).filter(Boolean);t.setColumnPinning((e=>{var t,o,i,r,u,a;return"right"===n?{left:(null!=(i=null==e?void 0:e.left)?i:[]).filter((e=>!(null!=l&&l.includes(e)))),right:[...(null!=(r=null==e?void 0:e.right)?r:[]).filter((e=>!(null!=l&&l.includes(e)))),...l]}:"left"===n?{left:[...(null!=(u=null==e?void 0:e.left)?u:[]).filter((e=>!(null!=l&&l.includes(e)))),...l],right:(null!=(a=null==e?void 0:e.right)?a:[]).filter((e=>!(null!=l&&l.includes(e))))}:{left:(null!=(t=null==e?void 0:e.left)?t:[]).filter((e=>!(null!=l&&l.includes(e)))),right:(null!=(o=null==e?void 0:e.right)?o:[]).filter((e=>!(null!=l&&l.includes(e))))}}))},getCanPin:()=>e.getLeafColumns().some((e=>{var n,l;return(null==(n=e.enablePinning)||n)&&(null==(l=t.options.enablePinning)||l)})),getIsPinned:()=>{const n=e.getLeafColumns().map((e=>e.id)),{left:l,right:o}=t.getState().columnPinning,i=n.some((e=>null==l?void 0:l.includes(e))),r=n.some((e=>null==o?void 0:o.includes(e)));return i?"left":!!r&&"right"},getPinnedIndex:()=>{var n,l,o;const i=e.getIsPinned();return i?null!=(n=null==(l=t.getState().columnPinning)||null==(o=l[i])?void 0:o.indexOf(e.id))?n:-1:0}}),createRow:(e,t)=>({getCenterVisibleCells:i((()=>[e._getAllVisibleCells(),t.getState().columnPinning.left,t.getState().columnPinning.right]),((e,t,n)=>{const l=[...null!=t?t:[],...null!=n?n:[]];return e.filter((e=>!l.includes(e.columnId)))}),{key:"row.getCenterVisibleCells",debug:()=>{var e;return null!=(e=t.options.debugAll)?e:t.options.debugRows}}),getLeftVisibleCells:i((()=>[e._getAllVisibleCells(),t.getState().columnPinning.left,,]),((e,t)=>(null!=t?t:[]).map((t=>e.find((e=>e.columnId===t)))).filter(Boolean).map((e=>({...e,position:"left"})))),{key:"row.getLeftVisibleCells",debug:()=>{var e;return null!=(e=t.options.debugAll)?e:t.options.debugRows}}),getRightVisibleCells:i((()=>[e._getAllVisibleCells(),t.getState().columnPinning.right]),((e,t)=>(null!=t?t:[]).map((t=>e.find((e=>e.columnId===t)))).filter(Boolean).map((e=>({...e,position:"left"})))),{key:"row.getRightVisibleCells",debug:()=>{var e;return null!=(e=t.options.debugAll)?e:t.options.debugRows}})}),createInstance:e=>({setColumnPinning:t=>null==e.options.onColumnPinningChange?void 0:e.options.onColumnPinningChange(t),resetColumnPinning:t=>{var n,l;return e.setColumnPinning(t?{left:[],right:[]}:null!=(n=null==(l=e.initialState)?void 0:l.columnPinning)?n:{left:[],right:[]})},getIsSomeColumnsPinned:()=>{const{left:t,right:n}=e.getState().columnPinning;return Boolean((null==t?void 0:t.length)||(null==n?void 0:n.length))},getLeftLeafColumns:i((()=>[e.getAllLeafColumns(),e.getState().columnPinning.left]),((e,t)=>(null!=t?t:[]).map((t=>e.find((e=>e.id===t)))).filter(Boolean)),{key:!1,debug:()=>{var t;return null!=(t=e.options.debugAll)?t:e.options.debugColumns}}),getRightLeafColumns:i((()=>[e.getAllLeafColumns(),e.getState().columnPinning.right]),((e,t)=>(null!=t?t:[]).map((t=>e.find((e=>e.id===t)))).filter(Boolean)),{key:!1,debug:()=>{var t;return null!=(t=e.options.debugAll)?t:e.options.debugColumns}}),getCenterLeafColumns:i((()=>[e.getAllLeafColumns(),e.getState().columnPinning.left,e.getState().columnPinning.right]),((e,t,n)=>{const l=[...null!=t?t:[],...null!=n?n:[]];return e.filter((e=>!l.includes(e.id)))}),{key:!1,debug:()=>{var t;return null!=(t=e.options.debugAll)?t:e.options.debugColumns}})})},H={getInitialState:e=>({rowSelection:{},...e}),getDefaultOptions:e=>({onRowSelectionChange:n("rowSelection",e),enableRowSelection:!0,enableMultiRowSelection:!0,enableSubRowSelection:!0}),createInstance:e=>({setRowSelection:t=>null==e.options.onRowSelectionChange?void 0:e.options.onRowSelectionChange(t),resetRowSelection:t=>{var n;return e.setRowSelection(t?{}:null!=(n=e.initialState.rowSelection)?n:{})},toggleAllRowsSelected:t=>{e.setRowSelection((n=>{t=void 0!==t?t:!e.getIsAllRowsSelected();const l={...n},o=e.getPreGroupedRowModel().flatRows;return t?o.forEach((e=>{l[e.id]=!0})):o.forEach((e=>{delete l[e.id]})),l}))},toggleAllPageRowsSelected:t=>e.setRowSelection((n=>{void 0!==t||e.getIsAllPageRowsSelected();const l={...n};return e.getRowModel().rows.forEach((n=>{z(l,n.id,t,e)})),l})),getPreSelectedRowModel:()=>e.getCoreRowModel(),getSelectedRowModel:i((()=>[e.getState().rowSelection,e.getCoreRowModel()]),((t,n)=>Object.keys(t).length?L(e,n):{rows:[],flatRows:[],rowsById:{}}),{key:!1,debug:()=>{var t;return null!=(t=e.options.debugAll)?t:e.options.debugTable}}),getFilteredSelectedRowModel:i((()=>[e.getState().rowSelection,e.getFilteredRowModel()]),((t,n)=>Object.keys(t).length?L(e,n):{rows:[],flatRows:[],rowsById:{}}),{key:"getFilteredSelectedRowModel",debug:()=>{var t;return null!=(t=e.options.debugAll)?t:e.options.debugTable}}),getGroupedSelectedRowModel:i((()=>[e.getState().rowSelection,e.getGroupedRowModel()]),((t,n)=>Object.keys(t).length?L(e,n):{rows:[],flatRows:[],rowsById:{}}),{key:"getGroupedSelectedRowModel",debug:()=>{var t;return null!=(t=e.options.debugAll)?t:e.options.debugTable}}),getIsAllRowsSelected:()=>{const t=e.getPreFilteredRowModel().flatRows,{rowSelection:n}=e.getState();let l=Boolean(t.length&&Object.keys(n).length);return l&&t.some((e=>!n[e.id]))&&(l=!1),l},getIsAllPageRowsSelected:()=>{const t=e.getPaginationRowModel().flatRows,{rowSelection:n}=e.getState();let l=!!t.length;return l&&t.some((e=>!n[e.id]))&&(l=!1),l},getIsSomeRowsSelected:()=>{var t;return!e.getIsAllRowsSelected()&&!!Object.keys(null!=(t=e.getState().rowSelection)?t:{}).length},getIsSomePageRowsSelected:()=>{const t=e.getPaginationRowModel().flatRows;return!e.getIsAllPageRowsSelected()&&!(null==t||!t.length)},getToggleAllRowsSelectedHandler:()=>t=>{e.toggleAllRowsSelected(t.target.checked)},getToggleAllPageRowsSelectedHandler:()=>t=>{e.toggleAllPageRowsSelected(t.target.checked)}}),createRow:(e,t)=>({toggleSelected:n=>{const l=e.getIsSelected();t.setRowSelection((o=>{if(l===(n=void 0!==n?n:!l))return o;const i={...o};return z(i,e.id,n,t),i}))},getIsSelected:()=>{const{rowSelection:n}=t.getState();return!0===k(e,n)},getIsSomeSelected:()=>{const{rowSelection:n}=t.getState();return"some"===k(e,n)},getCanSelect:()=>{var n;return"function"==typeof t.options.enableRowSelection?t.options.enableRowSelection(e):null==(n=t.options.enableRowSelection)||n},getCanSelectSubRows:()=>{var n;return"function"==typeof t.options.enableSubRowSelection?t.options.enableSubRowSelection(e):null==(n=t.options.enableSubRowSelection)||n},getCanMultiSelect:()=>{var n;return"function"==typeof t.options.enableMultiRowSelection?t.options.enableMultiRowSelection(e):null==(n=t.options.enableMultiRowSelection)||n},getToggleSelectedHandler:()=>{const t=e.getCanSelect();return n=>{var l;t&&e.toggleSelected(null==(l=n.target)?void 0:l.checked)}}})},z=(e,t,n,l)=>{var o;const i=l.getRow(t);i.getIsGrouped(),n?e[t]=!0:delete e[t],null!=(o=i.subRows)&&o.length&&i.getCanSelectSubRows()&&i.subRows.forEach((t=>z(e,t.id,n,l)))};function L(e,t){const n=e.getState().rowSelection,l=[],o={},i=function(e,t){return void 0===t&&(t=0),e.map((e=>{var r;const u=!0===k(e,n);if(u&&(l.push(e),o[e.id]=e),null!=(r=e.subRows)&&r.length&&(e={...e,subRows:i(e.subRows,t+1)}),u)return e})).filter(Boolean)};return{rows:i(t.rows),flatRows:l,rowsById:o}}function k(e,t,n){if(t[e.id])return!0;if(e.subRows&&e.subRows.length){let n=!0,l=!1;return e.subRows.forEach((e=>{l&&!n||(k(e,t)?l=!0:n=!1)})),!!n||!!l&&"some"}return!1}const O=/([0-9]+)/gm,T={alphanumeric:function(e,t,n){return D(j(e.getValue(n)).toLowerCase(),j(t.getValue(n)).toLowerCase())},alphanumericCaseSensitive:function(e,t,n){return D(j(e.getValue(n)),j(t.getValue(n)))},text:function(e,t,n){return B(j(e.getValue(n)).toLowerCase(),j(t.getValue(n)).toLowerCase())},textCaseSensitive:function(e,t,n){return B(j(e.getValue(n)),j(t.getValue(n)))},datetime:function(e,t,n){return B(e.getValue(n).getTime(),t.getValue(n).getTime())},basic:function(e,t,n){return B(e.getValue(n),t.getValue(n))}};function D(e,t){const n=e.split(O).filter(Boolean),l=t.split(O).filter(Boolean);for(;n.length&&l.length;){const e=n.shift(),t=l.shift(),o=parseInt(e,10),i=parseInt(t,10),r=[o,i].sort();if(isNaN(r[0])){if(e>t)return 1;if(t>e)return-1}else{if(isNaN(r[1]))return isNaN(o)?-1:1;if(o>i)return 1;if(i>o)return-1}}return n.length-l.length}function B(e,t){return e===t?0:e>t?1:-1}function j(e){return"number"==typeof e?isNaN(e)||e===1/0||e===-1/0?"":String(e):"string"==typeof e?e:""}const q={getInitialState:e=>({sorting:[],...e}),getDefaultColumn:()=>({sortingFn:"auto"}),getDefaultOptions:e=>({onSortingChange:n("sorting",e),isMultiSortEvent:e=>e.shiftKey}),createColumn:(e,t)=>({getAutoSortingFn:()=>{const n=t.getFilteredRowModel().flatRows.slice(100);let l=!1;for(const t of n){const n=null==t?void 0:t.getValue(e.id);if("[object Date]"===Object.prototype.toString.call(n))return T.datetime;if("string"==typeof n&&(l=!0,n.split(O).length>1))return T.alphanumeric}return l?T.text:T.basic},getAutoSortDir:()=>{const n=t.getFilteredRowModel().flatRows[0];return"string"==typeof(null==n?void 0:n.getValue(e.id))?"asc":"desc"},getSortingFn:()=>{var n;const o=t.options.sortingFns;if(!e)throw new Error;return l(e.sortingFn)?e.sortingFn:"auto"===e.sortingFn?e.getAutoSortingFn():null!=(n=null==o?void 0:o[e.sortingFn])?n:T[e.sortingFn]},toggleSorting:(n,l)=>{t.setSorting((o=>{var i,r,u,a;const s=null==o?void 0:o.find((t=>t.id===e.id)),g=null==o?void 0:o.findIndex((t=>t.id===e.id)),d=null!=n;let c,p=[];c=e.getCanMultiSort()&&l?s?"toggle":"add":null!=o&&o.length&&g!==o.length-1?"replace":s?"toggle":"replace";const f=null!=(i=null!=(r=e.sortDescFirst)?r:t.options.sortDescFirst)?i:"desc"===e.getAutoSortDir();if("toggle"!==c||null!=(u=t.options.enableSortingRemoval)&&!u||d||l&&null!=(a=t.options.enableMultiRemove)&&!a||(null!=s&&s.desc?f:!f)||(c="remove"),"replace"===c)p=[{id:e.id,desc:d?n:!!f}];else if("add"===c&&null!=o&&o.length){var m;p=[...o,{id:e.id,desc:d?n:!!f}],p.splice(0,p.length-(null!=(m=t.options.maxMultiSortColCount)?m:Number.MAX_SAFE_INTEGER))}else"toggle"===c&&null!=o&&o.length?p=o.map((t=>t.id===e.id?{...t,desc:d?n:!(null!=s&&s.desc)}:t)):"remove"===c&&null!=o&&o.length&&(p=o.filter((t=>t.id!==e.id)));return p}))},getCanSort:()=>{var n,l;return(null==(n=e.enableSorting)||n)&&(null==(l=t.options.enableSorting)||l)&&!!e.accessorFn},getCanMultiSort:()=>{var n,l;return null!=(n=null!=(l=e.enableMultiSort)?l:t.options.enableMultiSort)?n:!!e.accessorFn},getIsSorted:()=>{var n;const l=null==(n=t.getState().sorting)?void 0:n.find((t=>t.id===e.id));return!!l&&(l.desc?"desc":"asc")},getSortIndex:()=>{var n,l;return null!=(n=null==(l=t.getState().sorting)?void 0:l.findIndex((t=>t.id===e.id)))?n:-1},clearSorting:()=>{t.setSorting((t=>null!=t&&t.length?t.filter((t=>t.id!==e.id)):[]))},getToggleSortingHandler:()=>{const n=e.getCanSort();return l=>{n&&(null==l.persist||l.persist(),null==e.toggleSorting||e.toggleSorting(void 0,!!e.getCanMultiSort()&&(null==t.options.isMultiSortEvent?void 0:t.options.isMultiSortEvent(l))))}}}),createInstance:e=>({setSorting:t=>null==e.options.onSortingChange?void 0:e.options.onSortingChange(t),resetSorting:t=>{var n,l;e.setSorting(t?[]:null!=(n=null==(l=e.initialState)?void 0:l.sorting)?n:[])},getPreSortedRowModel:()=>e.getFilteredRowModel(),getSortedRowModel:()=>(!e._getSortedRowModel&&e.options.getSortedRowModel&&(e._getSortedRowModel=e.options.getSortedRowModel(e)),e.options.manualSorting||!e._getSortedRowModel?e.getPreSortedRowModel():e._getSortedRowModel())})},N={getInitialState:e=>({columnVisibility:{},...e}),getDefaultOptions:e=>({onColumnVisibilityChange:n("columnVisibility",e)}),getDefaultColumn:()=>({defaultIsVisible:!0}),createColumn:(e,t)=>({toggleVisibility:n=>{e.getCanHide()&&t.setColumnVisibility((t=>({...t,[e.id]:null!=n?n:!e.getIsVisible()})))},getIsVisible:()=>{var n,l;return null==(n=null==(l=t.getState().columnVisibility)?void 0:l[e.id])||n},getCanHide:()=>{var n,l;return(null==(n=e.enableHiding)||n)&&(null==(l=t.options.enableHiding)||l)},getToggleVisibilityHandler:()=>t=>{null==e.toggleVisibility||e.toggleVisibility(t.target.checked)}}),createRow:(e,t)=>({_getAllVisibleCells:i((()=>[e.getAllCells().filter((e=>e.column.getIsVisible())).map((e=>e.id)).join("_")]),(t=>e.getAllCells().filter((e=>e.column.getIsVisible()))),{key:"row._getAllVisibleCells",debug:()=>{var e;return null!=(e=t.options.debugAll)?e:t.options.debugRows}}),getVisibleCells:i((()=>[e.getLeftVisibleCells(),e.getCenterVisibleCells(),e.getRightVisibleCells()]),((e,t,n)=>[...e,...t,...n]),{key:!1,debug:()=>{var e;return null!=(e=t.options.debugAll)?e:t.options.debugRows}})}),createInstance:e=>{const t=(t,n)=>i((()=>[n(),n().filter((e=>e.getIsVisible())).map((e=>e.id)).join("_")]),(e=>e.filter((e=>null==e.getIsVisible?void 0:e.getIsVisible()))),{key:t,debug:()=>{var t;return null!=(t=e.options.debugAll)?t:e.options.debugColumns}});return{getVisibleFlatColumns:t("getVisibleFlatColumns",(()=>e.getAllFlatColumns())),getVisibleLeafColumns:t("getVisibleLeafColumns",(()=>e.getAllLeafColumns())),getLeftVisibleLeafColumns:t("getLeftVisibleLeafColumns",(()=>e.getLeftLeafColumns())),getRightVisibleLeafColumns:t("getRightVisibleLeafColumns",(()=>e.getRightLeafColumns())),getCenterVisibleLeafColumns:t("getCenterVisibleLeafColumns",(()=>e.getCenterLeafColumns())),setColumnVisibility:t=>null==e.options.onColumnVisibilityChange?void 0:e.options.onColumnVisibilityChange(t),resetColumnVisibility:t=>{var n;e.setColumnVisibility(t?{}:null!=(n=e.initialState.columnVisibility)?n:{})},toggleAllColumnsVisible:t=>{var n;t=null!=(n=t)?n:!e.getIsAllColumnsVisible(),e.setColumnVisibility(e.getAllLeafColumns().reduce(((e,n)=>({...e,[n.id]:t||!(null!=n.getCanHide&&n.getCanHide())})),{}))},getIsAllColumnsVisible:()=>!e.getAllLeafColumns().some((e=>!(null!=e.getIsVisible&&e.getIsVisible()))),getIsSomeColumnsVisible:()=>e.getAllLeafColumns().some((e=>null==e.getIsVisible?void 0:e.getIsVisible())),getToggleAllColumnsVisibilityHandler:()=>t=>{var n;e.toggleAllColumnsVisible(null==(n=t.target)?void 0:n.checked)}}}},U={createInstance:e=>({createHeader:(t,n)=>{var l;let o={id:null!=(l=n.id)?l:t.id,column:t,index:n.index,isPlaceholder:n.isPlaceholder,placeholderId:n.placeholderId,depth:n.depth,subHeaders:[],colSpan:0,rowSpan:0,headerGroup:null,getLeafHeaders:()=>{const e=[],t=n=>{n.subHeaders&&n.subHeaders.length&&n.subHeaders.map(t),e.push(n)};return t(o),e},renderHeader:()=>t.header?e._render(t.header,{instance:e,header:o,column:t}):null,renderFooter:()=>t.footer?e._render(t.footer,{instance:e,header:o,column:t}):null};return e._features.forEach((t=>{Object.assign(o,null==t.createHeader?void 0:t.createHeader(o,e))})),o},getHeaderGroups:i((()=>[e.getAllColumns(),e.getVisibleLeafColumns(),e.getState().columnPinning.left,e.getState().columnPinning.right]),((t,n,l,o)=>{const i=n.filter((e=>null==l?void 0:l.includes(e.id))),r=n.filter((e=>null==o?void 0:o.includes(e.id)));return X(t,[...i,...n.filter((e=>!(null!=l&&l.includes(e.id)||null!=o&&o.includes(e.id)))),...r],e)}),{key:!1,debug:()=>{var t;return null!=(t=e.options.debugAll)?t:e.options.debugHeaders}}),getCenterHeaderGroups:i((()=>[e.getAllColumns(),e.getVisibleLeafColumns(),e.getState().columnPinning.left,e.getState().columnPinning.right]),((t,n,l,o)=>X(t,n=n.filter((e=>!(null!=l&&l.includes(e.id)||null!=o&&o.includes(e.id)))),e,"center")),{key:!1,debug:()=>{var t;return null!=(t=e.options.debugAll)?t:e.options.debugHeaders}}),getLeftHeaderGroups:i((()=>[e.getAllColumns(),e.getVisibleLeafColumns(),e.getState().columnPinning.left]),((t,n,l)=>X(t,n=n.filter((e=>null==l?void 0:l.includes(e.id))),e,"left")),{key:!1,debug:()=>{var t;return null!=(t=e.options.debugAll)?t:e.options.debugHeaders}}),getRightHeaderGroups:i((()=>[e.getAllColumns(),e.getVisibleLeafColumns(),e.getState().columnPinning.right]),((t,n,l)=>X(t,n=n.filter((e=>null==l?void 0:l.includes(e.id))),e,"right")),{key:!1,debug:()=>{var t;return null!=(t=e.options.debugAll)?t:e.options.debugHeaders}}),getFooterGroups:i((()=>[e.getHeaderGroups()]),(e=>[...e].reverse()),{key:!1,debug:()=>{var t;return null!=(t=e.options.debugAll)?t:e.options.debugHeaders}}),getLeftFooterGroups:i((()=>[e.getLeftHeaderGroups()]),(e=>[...e].reverse()),{key:!1,debug:()=>{var t;return null!=(t=e.options.debugAll)?t:e.options.debugHeaders}}),getCenterFooterGroups:i((()=>[e.getCenterHeaderGroups()]),(e=>[...e].reverse()),{key:!1,debug:()=>{var t;return null!=(t=e.options.debugAll)?t:e.options.debugHeaders}}),getRightFooterGroups:i((()=>[e.getRightHeaderGroups()]),(e=>[...e].reverse()),{key:!1,debug:()=>{var t;return null!=(t=e.options.debugAll)?t:e.options.debugHeaders}}),getFlatHeaders:i((()=>[e.getHeaderGroups()]),(e=>e.map((e=>e.headers)).flat()),{key:!1,debug:()=>{var t;return null!=(t=e.options.debugAll)?t:e.options.debugHeaders}}),getLeftFlatHeaders:i((()=>[e.getLeftHeaderGroups()]),(e=>e.map((e=>e.headers)).flat()),{key:!1,debug:()=>{var t;return null!=(t=e.options.debugAll)?t:e.options.debugHeaders}}),getCenterFlatHeaders:i((()=>[e.getCenterHeaderGroups()]),(e=>e.map((e=>e.headers)).flat()),{key:!1,debug:()=>{var t;return null!=(t=e.options.debugAll)?t:e.options.debugHeaders}}),getRightFlatHeaders:i((()=>[e.getRightHeaderGroups()]),(e=>e.map((e=>e.headers)).flat()),{key:!1,debug:()=>{var t;return null!=(t=e.options.debugAll)?t:e.options.debugHeaders}}),getCenterLeafHeaders:i((()=>[e.getCenterFlatHeaders()]),(e=>e.filter((e=>{var t;return!(null!=(t=e.subHeaders)&&t.length)}))),{key:!1,debug:()=>{var t;return null!=(t=e.options.debugAll)?t:e.options.debugHeaders}}),getLeftLeafHeaders:i((()=>[e.getLeftFlatHeaders()]),(e=>e.filter((e=>{var t;return!(null!=(t=e.subHeaders)&&t.length)}))),{key:!1,debug:()=>{var t;return null!=(t=e.options.debugAll)?t:e.options.debugHeaders}}),getRightLeafHeaders:i((()=>[e.getRightFlatHeaders()]),(e=>e.filter((e=>{var t;return!(null!=(t=e.subHeaders)&&t.length)}))),{key:!1,debug:()=>{var t;return null!=(t=e.options.debugAll)?t:e.options.debugHeaders}}),getLeafHeaders:i((()=>[e.getLeftHeaderGroups(),e.getCenterHeaderGroups(),e.getRightHeaderGroups()]),((e,t,n)=>{var l,o,i,r,u,a;return[...null!=(l=null==(o=e[0])?void 0:o.headers)?l:[],...null!=(i=null==(r=t[0])?void 0:r.headers)?i:[],...null!=(u=null==(a=n[0])?void 0:a.headers)?u:[]].map((e=>e.getLeafHeaders())).flat()}),{key:!1,debug:()=>{var t;return null!=(t=e.options.debugAll)?t:e.options.debugHeaders}}),getHeader:t=>{const n=[...e.getFlatHeaders(),...e.getCenterFlatHeaders(),...e.getLeftFlatHeaders(),...e.getRightFlatHeaders()].find((e=>e.id===t));if(!n)throw new Error;return n}})};function X(e,t,n,l){var o,i;let r=0;const u=function(e,t){void 0===t&&(t=1),r=Math.max(r,t),e.filter((e=>e.getIsVisible())).forEach((e=>{var n;null!=(n=e.columns)&&n.length&&u(e.columns,t+1)}),0)};u(e);let a=[];const s=(e,t)=>{const o={depth:t,id:[l,""+t].filter(Boolean).join("_"),headers:[]},i=[];e.forEach((e=>{const r=[...i].reverse()[0];let u,a=!1;if(e.column.depth===o.depth&&e.column.parent?u=e.column.parent:(u=e.column,a=!0),(null==r?void 0:r.column)===u)r.subHeaders.push(e);else{const o=n.createHeader(u,{id:[l,t,u.id,null==e?void 0:e.id].filter(Boolean).join("_"),isPlaceholder:a,placeholderId:a?""+i.filter((e=>e.column===u)).length:void 0,depth:t,index:i.length});o.subHeaders.push(e),i.push(o)}o.headers.push(e),e.headerGroup=o})),a.push(o),t>0&&s(i,t-1)},g=t.map(((e,t)=>n.createHeader(e,{depth:r,index:t})));s(g,r-1),a.reverse();const d=e=>e.filter((e=>e.column.getIsVisible())).map((e=>{let t=0,n=0,l=[0];e.subHeaders&&e.subHeaders.length?(l=[],d(e.subHeaders).forEach((e=>{let{colSpan:n,rowSpan:o}=e;t+=n,l.push(o)}))):t=1;return n+=Math.min(...l),e.colSpan=t>0?t:void 0,e.rowSpan=n>0?n:void 0,{colSpan:t,rowSpan:n}}));return d(null!=(o=null==(i=a[0])?void 0:i.headers)?o:[]),a}function K(e,t,n){const l={generics:void 0,options:null!=n?n:{render:(()=>{throw new Error("")})()},setGenerics:()=>l,setRowType:()=>l,setTableMetaType:()=>l,setColumnMetaType:()=>l,setOptions:l=>K(e,t,{...n,...l}),createDisplayColumn:e=>({...e,columnDefType:"display"}),createGroup:e=>({...e,columnDefType:"group"}),createDataColumn:(e,t)=>{var n;if(t={...t,columnDefType:"data",id:t.id},"string"==typeof e)return{...t,id:null!=(n=t.id)?n:e,accessorKey:e};if("function"==typeof e)return{...t,accessorFn:e};throw new Error("Invalid accessor")}};return l}function J(e,t,n){return n.options.filterFromLeafRows?function(e,t,n){const l=[],o={};let i,r;const u=function(e,l){void 0===l&&(l=0);const a=[];for(let g=0;g<e.length;g++){var s;if(i=e[g],null!=(s=i.subRows)&&s.length){if(r=n.createRow(i.id,i.original,i.index,i.depth),r.columnFilterMap=i.columnFilterMap,r.subRows=u(i.subRows,l+1),!r.subRows.length)continue;i=r}t(i)&&(a.push(i),o[i.id]=i,o[g]=i)}return a};return{rows:u(e),flatRows:l,rowsById:o}}(e,t,n):function(e,t,n){const l=[],o={};let i,r,u;const a=function(e,s){void 0===s&&(s=0),i=[];for(let d=0;d<e.length;d++){r=e[d];var g;if(t(r))null!=(g=r.subRows)&&g.length&&(u=n.createRow(r.id,r.original,r.index,r.depth),u.subRows=a(r.subRows,s+1),r=u),i.push(r),l.push(r),o[r.id]=r}return i};return{rows:a(e),flatRows:l,rowsById:o}}(e,t,n)}function Q(e,t){const n=[],l=e=>{var o;n.push(e),t.options.expandSubRows&&null!=(o=e.subRows)&&o.length&&e.getIsExpanded()&&e.subRows.forEach(l)};return e.rows.forEach(l),{rows:n,flatRows:e.flatRows,rowsById:e.rowsById}}e.ColumnSizing=g,e.Expanding=f,e.Filters=y,e.Grouping=A,e.Headers=U,e.Ordering=_,e.Pagination=E,e.Pinning=G,e.RowSelection=H,e.Sorting=q,e.Visibility=N,e.buildHeaderGroups=X,e.createTableFactory=function(e){return()=>K(void 0,void 0,e)},e.createTableInstance=function(e){var n;(e.debugAll||e.debugTable)&&console.info("Creating Table Instance...");let l={_features:[r,u,a,U,N,_,G,y,q,A,f,E,H,g]};const o=l._features.reduce(((e,t)=>Object.assign(e,null==t.getDefaultOptions?void 0:t.getDefaultOptions(l))),{});let i={...null!=(n=e.initialState)?n:{}};l._features.forEach((e=>{var t;i=null!=(t=null==e.getInitialState?void 0:e.getInitialState(i))?t:i}));const s=[];let d=!1;const c={...l,options:{...o,...e},initialState:i,_queue:e=>{s.push(e),d||(d=!0,Promise.resolve().then((()=>{for(;s.length;)s.shift()();d=!1})).catch((e=>setTimeout((()=>{throw e})))))},reset:()=>{l.setState(l.initialState)},setOptions:e=>{const n=t(e,l.options);l.options=(e=>l.options.mergeOptions?l.options.mergeOptions(o,e):{...o,...e})(n)},_render:(e,t)=>"function"==typeof l.options.render?l.options.render(e,t):"function"==typeof e?e(t):e,getState:()=>l.options.state,setState:e=>{null==l.options.onStateChange||l.options.onStateChange(e)}};return l=Object.assign(l,c),l._features.forEach((e=>Object.assign(l,null==e.createInstance?void 0:e.createInstance(l)))),l},e.defaultColumnSizing=s,e.expandRows=Q,e.flattenBy=o,e.functionalUpdate=t,e.getCoreRowModel=function(){return e=>i((()=>[e.options.data]),(t=>{const n=[],l=[],o={},i=e.getAllLeafColumns(),r=function(t,n,u,a,s){void 0===u&&(u=0);const g=e.getRowId(t,n,s),d={};for(let e=0;e<i.length;e++){const l=i[e];l&&l.accessorFn&&(d[l.id]=l.accessorFn(t,n))}const c=e.createRow(g,t,n,u);if(a.push(c),l.push(c),o[g]=c,e.options.getSubRows){const l=e.options.getSubRows(t,n);if(null!=l&&l.length){c.originalSubRows=l;const e=[];for(let t=0;t<c.originalSubRows.length;t++)r(c.originalSubRows[t],t,u+1,e,c);c.subRows=e}}};for(let e=0;e<t.length;e++)r(t[e],e,0,n);return{rows:n,flatRows:l,rowsById:o}}),{key:!1,debug:()=>{var t;return null!=(t=e.options.debugAll)?t:e.options.debugTable},onChange:()=>{e._autoResetPageIndex()}})},e.getExpandedRowModel=function(){return e=>i((()=>[e.getState().expanded,e.getPreExpandedRowModel(),e.options.paginateExpandedRows]),((t,n,l)=>n.rows.length&&l&&(!0===t||Object.keys(null!=t?t:{}).length)?Q(n,e):n),{key:!1,debug:()=>{var t;return null!=(t=e.options.debugAll)?t:e.options.debugTable}})},e.getFacetedMinMaxValues=function(){return(e,t)=>i((()=>[e.getColumn(t).getFacetedRowModel()]),(e=>{var n;const l=null==(n=e.flatRows[0])?void 0:n.getValue(t);if(void 0===l)return;let o=[l,l];for(let n=0;n<e.flatRows.length;n++){var i;const l=null==(i=e.flatRows[n])?void 0:i.getValue(t);l<o[0]?o[0]=l:l>o[1]&&(o[1]=l)}return o}),{key:!1,debug:()=>{var t;return null!=(t=e.options.debugAll)?t:e.options.debugTable},onChange:()=>{}})},e.getFacetedRowModel=function(){return(e,t)=>i((()=>[e.getPreFilteredRowModel(),e.getState().columnFilters,e.getState().globalFilter,e.getFilteredRowModel()]),((n,l,o)=>{if(!n.rows.length||(null==l||!l.length)&&!o)return n;const i=[...l.map((e=>e.id)).filter((e=>e!==t)),o?"__global__":void 0].filter(Boolean);return J(n.rows,(e=>{for(let t=0;t<i.length;t++)if(!1===e.columnFilterMap[i[t]])return!1;return!0}),e)}),{key:!1,debug:()=>{var t;return null!=(t=e.options.debugAll)?t:e.options.debugTable},onChange:()=>{}})},e.getFacetedUniqueValues=function(){return(e,t)=>i((()=>[e.getColumn(t).getFacetedRowModel()]),(e=>{let n=new Map;for(let i=0;i<e.flatRows.length;i++){var l;const r=null==(l=e.flatRows[i])?void 0:l.getValue(t);var o;if(n.has(r))n.set(r,(null!=(o=n.get(r))?o:0)+1);else n.set(r,1)}return n}),{key:!1,debug:()=>{var t;return null!=(t=e.options.debugAll)?t:e.options.debugTable},onChange:()=>{}})},e.getFilteredRowModel=function(){return e=>i((()=>[e.getPreFilteredRowModel(),e.getState().columnFilters,e.getState().globalFilter]),((t,n,l)=>{if(!t.rows.length||(null==n||!n.length)&&!l)return t;const o=[],i=[];(null!=n?n:[]).forEach((t=>{var n;const l=e.getColumn(t.id).getFilterFn();l&&o.push({id:t.id,filterFn:l,resolvedValue:null!=(n=null==l.resolveFilterValue?void 0:l.resolveFilterValue(t.value))?n:t.value})}));const r=n.map((e=>e.id)),u=e.getGlobalFilterFn(),a=e.getAllLeafColumns().filter((e=>e.getCanGlobalFilter()));let s,g;l&&u&&a.length&&(r.push("__global__"),a.forEach((e=>{var t;i.push({id:e.id,filterFn:u,resolvedValue:null!=(t=null==u.resolveFilterValue?void 0:u.resolveFilterValue(l))?t:l})})));for(let e=0;e<t.flatRows.length;e++){const n=t.flatRows[e];if(n.columnFilterMap={},o.length)for(let e=0;e<o.length;e++)s=o[e],n.columnFilterMap[s.id]=s.filterFn(n,s.id,s.resolvedValue);if(i.length){for(let e=0;e<i.length;e++)if(g=i[e],g.filterFn(n,g.id,g.resolvedValue)){n.columnFilterMap.__global__=!0;break}!0!==n.columnFilterMap.__global__&&(n.columnFilterMap.__global__=!1)}}return J(t.rows,(e=>{for(let t=0;t<r.length;t++)if(!1===e.columnFilterMap[r[t]])return!1;return!0}),e)}),{key:!1,debug:()=>{var t;return null!=(t=e.options.debugAll)?t:e.options.debugTable},onChange:()=>{e._autoResetPageIndex()}})},e.getGroupedRowModel=function(){return e=>i((()=>[e.getState().grouping,e.getPreGroupedRowModel()]),((t,n)=>{if(!n.rows.length||!t.length)return n;const l=t.filter((t=>e.getColumn(t))),i=[],r={},u=function(t,n,a){if(void 0===n&&(n=0),n===l.length)return t;const s=l[n],g=function(e,t){const n=new Map;return e.reduce(((e,n)=>{const l=""+n.getValue(t),o=e.get(l);return o?e.set(l,[...o,n]):e.set(l,[n]),e}),n)}(t,s),d=Array.from(g.entries()).map(((t,g)=>{let[d,c]=t,p=s+":"+d;p=a?a+">"+p:p;const f=u(c,n+1,p),m=n?o(c,(e=>e.subRows)):c,b=e.createRow(p,void 0,g,n);return Object.assign(b,{groupingColumnId:s,groupingValue:d,subRows:f,leafRows:m,getValue:t=>{if(l.includes(t)){if(b.valuesCache.hasOwnProperty(t))return b.valuesCache[t];var o;if(c[0])b.valuesCache[t]=null!=(o=c[0].getValue(t))?o:void 0;return b.valuesCache[t]}if(b.groupingValuesCache.hasOwnProperty(t))return b.groupingValuesCache[t];const i=e.getColumn(t),r=i.getColumnAggregationFn();if(r)return b.groupingValuesCache[t]=r((()=>m.map((e=>{let l=e.getValue(t);return!n&&i.aggregateValue&&(l=i.aggregateValue(l)),l}))),(()=>c.map((e=>e.getValue(t))))),b.groupingValuesCache[t];if(i.aggregationFn)throw console.info({column:i}),new Error("")}}),f.forEach((e=>{i.push(e),r[e.id]=e})),b}));return d},a=u(n.rows,0,"");return a.forEach((e=>{i.push(e),r[e.id]=e})),{rows:a,flatRows:i,rowsById:r}}),{key:!1,debug:()=>{var t;return null!=(t=e.options.debugAll)?t:e.options.debugTable},onChange:()=>{e._queue((()=>{e._autoResetExpanded(),e._autoResetPageIndex()}))}})},e.getPaginationRowModel=function(e){return e=>i((()=>[e.getState().pagination,e.getPrePaginationRowModel()]),((t,n)=>{if(!n.rows.length)return n;const{pageSize:l,pageIndex:o}=t;let{rows:i,flatRows:r,rowsById:u}=n;const a=l*o,s=a+l;return i=i.slice(a,s),e.options.paginateExpandedRows?{rows:i,flatRows:r,rowsById:u}:Q({rows:i,flatRows:r,rowsById:u},e)}),{key:!1,debug:()=>{var t;return null!=(t=e.options.debugAll)?t:e.options.debugTable}})},e.getSortedRowModel=function(){return e=>i((()=>[e.getState().sorting,e.getPreSortedRowModel()]),((t,n)=>{if(!n.rows.length||null==t||!t.length)return n;const l=e.getState().sorting,o=[],i=l.filter((t=>e.getColumn(t.id).getCanSort())),r={};i.forEach((t=>{const n=e.getColumn(t.id);r[t.id]={sortUndefined:n.sortUndefined,invertSorting:n.invertSorting,sortingFn:n.getSortingFn()}}));const u=e=>{const t=e.slice();return t.sort(((e,t)=>{for(let l=0;l<i.length;l+=1){var n;const o=i[l],u=r[o.id],a=null!=(n=null==o?void 0:o.desc)&&n;if(u.sortUndefined){const n=void 0===e.getValue(o.id),l=void 0===t.getValue(o.id);if(n||l)return n&&l?0:n?u.sortUndefined:-u.sortUndefined}let s=u.sortingFn(e,t,o.id);if(0!==s)return a&&(s*=-1),u.invertSorting&&(s*=-1),s}return e.index-t.index})),t.forEach((e=>{o.push(e),!e.subRows||e.subRows.length<=1||(e.subRows=u(e.subRows))})),t};return{rows:u(n.rows),flatRows:o,rowsById:n.rowsById}}),{key:!1,debug:()=>{var t;return null!=(t=e.options.debugAll)?t:e.options.debugTable},onChange:()=>{e._autoResetPageIndex()}})},e.isFunction=l,e.isRowSelected=k,e.makeStateUpdater=n,e.memo=i,e.noop=function(){},e.orderColumns=P,e.passiveEventSupported=c,e.selectRowsFn=L,e.shouldAutoRemoveFilter=V,Object.defineProperty(e,"__esModule",{value:!0})}));
//# sourceMappingURL=index.production.js.map
{
"name": "@tanstack/table-core",
"author": "Tanner Linsley",
"version": "8.0.0-alpha.72",
"version": "8.0.0-alpha.73",
"description": "Hooks for building lightweight, fast and extendable datagrids for React",

@@ -6,0 +6,0 @@ "license": "MIT",

@@ -47,4 +47,4 @@ import { functionalUpdate, RequiredKeys } from './utils'

mergeOptions?: <T>(defaultOptions: T, options: Partial<T>) => T
keepPreviousData?: boolean
meta?: TGenerics['TableMeta']
// keepPreviousData?: boolean
}

@@ -58,9 +58,10 @@

setOptions: (newOptions: Updater<TableOptions<TGenerics>>) => void
queue: (cb: () => void) => void
getState: () => TableState
setState: (updater: Updater<TableState>) => void
render: <TProps>(
_queue: (cb: () => void) => void
_render: <TProps>(
template: Renderable<TGenerics, TProps>,
props: TProps
) => string | null | TGenerics['Rendered']
_features: readonly TableFeature[]
// getOverallProgress: () => number

@@ -72,3 +73,2 @@ // getProgressStage: () =>

// | 'facetedRowModel'
_features: readonly TableFeature[]
// createBatch: (priority: keyof CoreBatches) => Batch

@@ -237,3 +237,3 @@ // init: () => void

initialState,
queue: cb => {
_queue: cb => {
queued.push(cb)

@@ -304,3 +304,3 @@

},
render: (template, props) => {
_render: (template, props) => {
if (typeof instance.options.render === 'function') {

@@ -307,0 +307,0 @@ return instance.options.render(template, props)

@@ -78,3 +78,3 @@ import {

column.cell
? instance.render(column.cell, {
? instance._render(column.cell, {
instance,

@@ -81,0 +81,0 @@ column,

@@ -85,3 +85,3 @@ import { RowModel } from '..'

if (!registered) {
instance.queue(() => {
instance._queue(() => {
registered = true

@@ -102,3 +102,3 @@ })

queued = true
instance.queue(() => {
instance._queue(() => {
instance.resetExpanded()

@@ -105,0 +105,0 @@ queued = false

@@ -270,3 +270,3 @@ import { RowModel } from '..'

return template
? instance.render(template, {
? instance._render(template, {
instance,

@@ -273,0 +273,0 @@ column,

@@ -91,3 +91,3 @@ import {

column.header
? instance.render(column.header, {
? instance._render(column.header, {
instance,

@@ -100,3 +100,3 @@ header: header as Header<TGenerics>,

column.footer
? instance.render(column.footer, {
? instance._render(column.footer, {
instance,

@@ -103,0 +103,0 @@ header: header as Header<TGenerics>,

@@ -36,3 +36,2 @@ import {

onPaginationChange: OnChangeFn<PaginationState>
autoResetPageIndex: boolean
}

@@ -86,3 +85,2 @@

onPaginationChange: makeStateUpdater('pagination', instance),
autoResetPageIndex: true,
}

@@ -100,3 +98,3 @@ },

if (!registered) {
instance.queue(() => {
instance._queue(() => {
registered = true

@@ -107,13 +105,10 @@ })

if (instance.options.autoResetAll === false) {
return
}
if (
instance.options.autoResetAll === true ||
instance.options.autoResetPageIndex
instance.options.autoResetAll ??
instance.options.autoResetPageIndex ??
!instance.options.manualPagination
) {
if (queued) return
queued = true
instance.queue(() => {
instance._queue(() => {
instance.resetPageIndex()

@@ -145,3 +140,3 @@ queued = false

const maxPageIndex =
old.pageCount && old.pageCount > 0
typeof old.pageCount !== 'undefined'
? old.pageCount - 1

@@ -148,0 +143,0 @@ : Number.MAX_SAFE_INTEGER

@@ -158,3 +158,3 @@ import { CoreRow } from '../features/Rows'

onChange: () => {
instance.queue(() => {
instance._queue(() => {
instance._autoResetExpanded()

@@ -161,0 +161,0 @@ instance._autoResetPageIndex()

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display