@tanstack/table-core 8.0.0-alpha.54 → 8.0.0-alpha.55
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/cjs/features/ColumnSizing.js.map +1 -1
- package/build/cjs/features/Headers.js.map +1 -1
- package/build/esm/index.js.map +1 -1
- package/build/stats-html.html +1 -1
- package/build/stats-react.json +289 -289
- package/build/types/features/ColumnSizing.d.ts +4 -4
- package/build/umd/index.development.js.map +1 -1
- package/build/umd/index.production.js.map +1 -1
- package/package.json +1 -1
- package/src/features/ColumnSizing.ts +5 -5
- package/src/features/Headers.ts +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ColumnSizing.js","sources":["../../../src/features/ColumnSizing.ts"],"sourcesContent":["import {\n Column,\n Getter,\n Header,\n OnChangeFn,\n TableGenerics,\n PropGetterValue,\n TableInstance,\n Updater,\n} from '../types'\nimport { makeStateUpdater, propGetter } from '../utils'\n\n//\n\nexport type ColumnSizing = Record<string, number>\n\nexport type ColumnSizingInfoState = {\n startOffset: null | number\n startSize: null | number\n deltaOffset: null | number\n deltaPercentage: null | number\n isResizingColumn: false | string\n columnSizingStart: [string, number][]\n}\n\nexport type ColumnSizingTableState = {\n columnSizing: ColumnSizing\n columnSizingInfo: ColumnSizingInfoState\n}\n\nexport type ColumnResizeMode = 'onChange' | 'onEnd'\n\nexport type ColumnSizingOptions = {\n enableColumnResizing?: boolean\n columnResizeMode?: ColumnResizeMode\n onColumnSizingChange?: OnChangeFn<ColumnSizing>\n onColumnSizingInfoChange?: OnChangeFn<ColumnSizingInfoState>\n}\n\nexport type ColumnSizingDefaultOptions = {\n columnResizeMode: ColumnResizeMode\n onColumnSizingChange: OnChangeFn<ColumnSizing>\n onColumnSizingInfoChange: OnChangeFn<ColumnSizingInfoState>\n}\n\nexport type ColumnResizerProps = {\n title?: string\n onMouseDown?: (e: MouseEvent) => void\n onTouchStart?: (e: TouchEvent) => void\n draggable?: boolean\n role?: string\n}\n\nexport type ColumnSizingInstance<TGenerics extends TableGenerics> = {\n getColumnWidth: (columnId: string) => number\n setColumnSizing: (updater: Updater<ColumnSizing>) => void\n setColumnSizingInfo: (updater: Updater<ColumnSizingInfoState>) => void\n resetColumnSizing: () => void\n resetColumnSize: (columnId: string) => void\n resetHeaderSize: (headerId: string) => void\n resetHeaderSizeInfo: () => void\n getColumnCanResize: (columnId: string) => boolean\n getHeaderCanResize: (headerId: string) => boolean\n getHeaderResizerProps: <TGetter extends Getter<ColumnResizerProps>>(\n headerId: string,\n userProps?: TGetter\n ) => undefined | PropGetterValue<ColumnResizerProps, TGetter>\n getColumnIsResizing: (columnId: string) => boolean\n getHeaderIsResizing: (headerId: string) => boolean\n}\n\nexport type ColumnSizingColumnDef = {\n enableResizing?: boolean\n defaultCanResize?: boolean\n width?: number\n minWidth?: number\n maxWidth?: number\n}\n\nexport type ColumnSizingColumn<TGenerics extends TableGenerics> = {\n getCanResize: () => boolean\n getIsResizing: () => boolean\n resetSize: () => void\n}\n\nexport type ColumnSizingHeader<TGenerics extends TableGenerics> = {\n getCanResize: () => boolean\n getIsResizing: () => boolean\n getResizerProps: <TGetter extends Getter<ColumnResizerProps>>(\n userProps?: TGetter\n ) => undefined | PropGetterValue<ColumnResizerProps, TGetter>\n resetSize: () => void\n}\n\n//\n\nexport const defaultColumnSizing = {\n width: 150,\n minWidth: 20,\n maxWidth: Number.MAX_SAFE_INTEGER,\n}\n\nexport const ColumnSizing = {\n getDefaultColumn: (): ColumnSizingColumnDef => {\n return defaultColumnSizing\n },\n getInitialState: (): ColumnSizingTableState => {\n return {\n columnSizing: {},\n columnSizingInfo: {\n startOffset: null,\n startSize: null,\n deltaOffset: null,\n deltaPercentage: null,\n isResizingColumn: false,\n columnSizingStart: [],\n },\n }\n },\n\n getDefaultOptions: <TGenerics extends TableGenerics>(\n instance: TableInstance<TGenerics>\n ): ColumnSizingDefaultOptions => {\n return {\n columnResizeMode: 'onEnd',\n onColumnSizingChange: makeStateUpdater('columnSizing', instance),\n onColumnSizingInfoChange: makeStateUpdater('columnSizingInfo', instance),\n }\n },\n\n getInstance: <TGenerics extends TableGenerics>(\n instance: TableInstance<TGenerics>\n ): ColumnSizingInstance<TGenerics> => {\n return {\n getColumnWidth: (columnId: string) => {\n const column = instance.getColumn(columnId)\n\n if (!column) {\n throw new Error()\n }\n\n const columnSize = instance.getState().columnSizing[column.id]\n\n return Math.min(\n Math.max(\n column.minWidth ?? defaultColumnSizing.minWidth,\n columnSize ?? column.width ?? defaultColumnSizing.width\n ),\n column.maxWidth ?? defaultColumnSizing.maxWidth\n )\n },\n setColumnSizing: updater =>\n instance.options.onColumnSizingChange?.(updater),\n setColumnSizingInfo: updater =>\n instance.options.onColumnSizingInfoChange?.(updater),\n resetColumnSizing: () => {\n instance.setColumnSizing(instance.initialState.columnSizing ?? {})\n },\n resetHeaderSizeInfo: () => {\n instance.setColumnSizingInfo(\n instance.initialState.columnSizingInfo ?? {}\n )\n },\n resetColumnSize: columnId => {\n instance.setColumnSizing(({ [columnId]: _, ...rest }) => {\n return rest\n })\n },\n resetHeaderSize: headerId => {\n const header = instance.getHeader(headerId)\n\n return instance.resetColumnSize(header.column.id)\n },\n getHeaderCanResize: headerId => {\n const header = instance.getHeader(headerId)\n\n if (!header) {\n throw new Error()\n }\n\n return instance.getColumnCanResize(header.column.id)\n },\n getColumnCanResize: columnId => {\n const column = instance.getColumn(columnId)\n\n if (!column) {\n throw new Error()\n }\n\n return (\n column.enableResizing ??\n instance.options.enableColumnResizing ??\n column.defaultCanResize ??\n true\n )\n },\n getColumnIsResizing: columnId => {\n const column = instance.getColumn(columnId)\n\n if (!column) {\n throw new Error()\n }\n\n return (\n instance.getState().columnSizingInfo.isResizingColumn === columnId\n )\n },\n getHeaderIsResizing: headerId => {\n const header = instance.getHeader(headerId)\n\n if (!header) {\n throw new Error()\n }\n\n return instance.getColumnIsResizing(header.column.id)\n },\n\n getHeaderResizerProps: (headerId, userProps) => {\n const header = instance.getHeader(headerId)\n const column = instance.getColumn(header.column.id)\n\n const canResize = column.getCanResize()\n\n const onResizeStart = (e: unknown) => {\n if (isTouchStartEvent(e)) {\n // lets not respond to multiple touches (e.g. 2 or 3 fingers)\n if (e.touches && e.touches.length > 1) {\n return\n }\n }\n\n const header = headerId ? instance.getHeader(headerId) : undefined\n\n const startSize = header ? header.getWidth() : column.getWidth()\n\n const columnSizingStart: [string, number][] = header\n ? header.getLeafHeaders().map(d => [d.column.id, d.getWidth()])\n : [[column.id, column.getWidth()]]\n\n const clientX = isTouchStartEvent(e)\n ? Math.round(e.touches[0].clientX)\n : (e as MouseEvent).clientX\n\n const updateOffset = (\n eventType: 'move' | 'end',\n clientXPos?: number\n ) => {\n if (typeof clientXPos !== 'number') {\n return\n }\n\n let newColumnSizing: ColumnSizing = {}\n\n instance.setColumnSizingInfo(old => {\n const deltaOffset = clientXPos - (old?.startOffset ?? 0)\n const deltaPercentage = Math.max(\n deltaOffset / (old?.startSize ?? 0),\n -0.999999\n )\n\n old.columnSizingStart.forEach(([columnId, headerWidth]) => {\n newColumnSizing[columnId] =\n Math.round(\n Math.max(headerWidth + headerWidth * deltaPercentage, 0) *\n 100\n ) / 100\n })\n\n return {\n ...old,\n deltaOffset,\n deltaPercentage,\n }\n })\n\n if (\n instance.options.columnResizeMode === 'onChange' ||\n eventType === 'end'\n ) {\n instance.setColumnSizing(old => ({\n ...old,\n ...newColumnSizing,\n }))\n }\n }\n\n const onMove = (clientXPos?: number) =>\n updateOffset('move', clientXPos)\n\n const onEnd = (clientXPos?: number) => {\n updateOffset('end', clientXPos)\n\n instance.setColumnSizingInfo(old => ({\n ...old,\n isResizingColumn: false,\n startOffset: null,\n startSize: null,\n deltaOffset: null,\n deltaPercentage: null,\n columnSizingStart: [],\n }))\n }\n\n const mouseEvents = {\n moveHandler: (e: MouseEvent) => onMove(e.clientX),\n upHandler: (e: MouseEvent) => {\n document.removeEventListener('mousemove', mouseEvents.moveHandler)\n document.removeEventListener('mouseup', mouseEvents.upHandler)\n onEnd(e.clientX)\n },\n }\n\n const touchEvents = {\n moveHandler: (e: TouchEvent) => {\n if (e.cancelable) {\n e.preventDefault()\n e.stopPropagation()\n }\n onMove(e.touches[0].clientX)\n return false\n },\n upHandler: (e: TouchEvent) => {\n document.removeEventListener('touchmove', touchEvents.moveHandler)\n document.removeEventListener('touchend', touchEvents.upHandler)\n if (e.cancelable) {\n e.preventDefault()\n e.stopPropagation()\n }\n onEnd(e.touches[0].clientX)\n },\n }\n\n const passiveIfSupported = passiveEventSupported()\n ? { passive: false }\n : false\n\n if (isTouchStartEvent(e)) {\n document.addEventListener(\n 'touchmove',\n touchEvents.moveHandler,\n passiveIfSupported\n )\n document.addEventListener(\n 'touchend',\n touchEvents.upHandler,\n passiveIfSupported\n )\n } else {\n document.addEventListener(\n 'mousemove',\n mouseEvents.moveHandler,\n passiveIfSupported\n )\n document.addEventListener(\n 'mouseup',\n mouseEvents.upHandler,\n passiveIfSupported\n )\n }\n\n instance.setColumnSizingInfo(old => ({\n ...old,\n startOffset: clientX,\n startSize,\n deltaOffset: 0,\n deltaPercentage: 0,\n columnSizingStart,\n isResizingColumn: column.id,\n }))\n }\n\n const initialProps: ColumnResizerProps = canResize\n ? {\n title: 'Toggle Grouping',\n draggable: false,\n role: 'separator',\n onMouseDown: (e: MouseEvent) => {\n ;(e as any).persist?.()\n onResizeStart(e)\n },\n onTouchStart: (e: TouchEvent) => {\n ;(e as any).persist?.()\n onResizeStart(e)\n },\n }\n : {}\n\n return propGetter(initialProps, userProps)\n },\n }\n },\n\n createColumn: <TGenerics extends TableGenerics>(\n column: Column<TGenerics>,\n instance: TableInstance<TGenerics>\n ): ColumnSizingColumn<TGenerics> => {\n return {\n getIsResizing: () => instance.getColumnIsResizing(column.id),\n getCanResize: () => instance.getColumnCanResize(column.id),\n resetSize: () => instance.resetColumnSize(column.id),\n }\n },\n\n createHeader: <TGenerics extends TableGenerics>(\n header: Header<TGenerics>,\n instance: TableInstance<TGenerics>\n ): ColumnSizingHeader<TGenerics> => {\n return {\n getIsResizing: () => instance.getColumnIsResizing(header.column.id),\n getCanResize: () => instance.getColumnCanResize(header.column.id),\n resetSize: () => instance.resetColumnSize(header.column.id),\n getResizerProps: userProps =>\n instance.getHeaderResizerProps(header.id, userProps),\n }\n },\n}\n\nlet passiveSupported: boolean | null = null\nexport function passiveEventSupported() {\n if (typeof passiveSupported === 'boolean') return passiveSupported\n\n let supported = false\n try {\n const options = {\n get passive() {\n supported = true\n return false\n },\n }\n\n const noop = () => {}\n\n window.addEventListener('test', noop, options)\n window.removeEventListener('test', noop)\n } catch (err) {\n supported = false\n }\n passiveSupported = supported\n return passiveSupported\n}\n\nfunction isTouchStartEvent(e: unknown): e is TouchEvent {\n return (e as TouchEvent).type === 'touchstart'\n}\n"],"names":["defaultColumnSizing","width","minWidth","maxWidth","Number","MAX_SAFE_INTEGER","ColumnSizing","getDefaultColumn","getInitialState","columnSizing","columnSizingInfo","startOffset","startSize","deltaOffset","deltaPercentage","isResizingColumn","columnSizingStart","getDefaultOptions","instance","columnResizeMode","onColumnSizingChange","makeStateUpdater","onColumnSizingInfoChange","getInstance","getColumnWidth","columnId","column","getColumn","Error","columnSize","getState","id","Math","min","max","setColumnSizing","updater","options","setColumnSizingInfo","resetColumnSizing","initialState","resetHeaderSizeInfo","resetColumnSize","rest","_toPropertyKey","resetHeaderSize","headerId","header","getHeader","getHeaderCanResize","getColumnCanResize","enableResizing","enableColumnResizing","defaultCanResize","getColumnIsResizing","getHeaderIsResizing","getHeaderResizerProps","userProps","canResize","getCanResize","onResizeStart","e","isTouchStartEvent","touches","length","undefined","getWidth","getLeafHeaders","map","d","clientX","round","updateOffset","eventType","clientXPos","newColumnSizing","old","forEach","headerWidth","_extends","onMove","onEnd","mouseEvents","moveHandler","upHandler","document","removeEventListener","touchEvents","cancelable","preventDefault","stopPropagation","passiveIfSupported","passiveEventSupported","passive","addEventListener","initialProps","title","draggable","role","onMouseDown","persist","onTouchStart","propGetter","createColumn","getIsResizing","resetSize","createHeader","getResizerProps","passiveSupported","supported","noop","window","err","type"],"mappings":";;;;;;;;;;;;;;;;;AA8FA;AAEO,IAAMA,mBAAmB,GAAG;AACjCC,EAAAA,KAAK,EAAE,GAD0B;AAEjCC,EAAAA,QAAQ,EAAE,EAFuB;AAGjCC,EAAAA,QAAQ,EAAEC,MAAM,CAACC,gBAAAA;AAHgB,EAA5B;AAMA,IAAMC,YAAY,GAAG;AAC1BC,EAAAA,gBAAgB,EAAE,SAA6B,gBAAA,GAAA;AAC7C,IAAA,OAAOP,mBAAP,CAAA;AACD,GAHyB;AAI1BQ,EAAAA,eAAe,EAAE,SAA8B,eAAA,GAAA;AAC7C,IAAO,OAAA;AACLC,MAAAA,YAAY,EAAE,EADT;AAELC,MAAAA,gBAAgB,EAAE;AAChBC,QAAAA,WAAW,EAAE,IADG;AAEhBC,QAAAA,SAAS,EAAE,IAFK;AAGhBC,QAAAA,WAAW,EAAE,IAHG;AAIhBC,QAAAA,eAAe,EAAE,IAJD;AAKhBC,QAAAA,gBAAgB,EAAE,KALF;AAMhBC,QAAAA,iBAAiB,EAAE,EAAA;AANH,OAAA;AAFb,KAAP,CAAA;AAWD,GAhByB;AAkB1BC,EAAAA,iBAAiB,EAAE,SACjBC,iBAAAA,CAAAA,QADiB,EAEc;AAC/B,IAAO,OAAA;AACLC,MAAAA,gBAAgB,EAAE,OADb;AAELC,MAAAA,oBAAoB,EAAEC,sBAAgB,CAAC,cAAD,EAAiBH,QAAjB,CAFjC;AAGLI,MAAAA,wBAAwB,EAAED,sBAAgB,CAAC,kBAAD,EAAqBH,QAArB,CAAA;AAHrC,KAAP,CAAA;AAKD,GA1ByB;AA4B1BK,EAAAA,WAAW,EAAE,SACXL,WAAAA,CAAAA,QADW,EAEyB;AACpC,IAAO,OAAA;AACLM,MAAAA,cAAc,EAAE,SAACC,cAAAA,CAAAA,QAAD,EAAsB;AAAA,QAAA,IAAA,gBAAA,EAAA,IAAA,EAAA,gBAAA,CAAA;;AACpC,QAAA,IAAMC,MAAM,GAAGR,QAAQ,CAACS,SAAT,CAAmBF,QAAnB,CAAf,CAAA;;AAEA,QAAI,IAAA,CAACC,MAAL,EAAa;AACX,UAAM,MAAA,IAAIE,KAAJ,EAAN,CAAA;AACD,SAAA;;AAED,QAAMC,IAAAA,UAAU,GAAGX,QAAQ,CAACY,QAAT,EAAoBrB,CAAAA,YAApB,CAAiCiB,MAAM,CAACK,EAAxC,CAAnB,CAAA;AAEA,QAAA,OAAOC,IAAI,CAACC,GAAL,CACLD,IAAI,CAACE,GAAL,CAAA,CAAA,gBAAA,GACER,MAAM,CAACxB,QADT,KACqBF,IAAAA,GAAAA,gBAAAA,GAAAA,mBAAmB,CAACE,QADzC,UAEE2B,UAFF,IAAA,IAAA,GAEEA,UAFF,GAEgBH,MAAM,CAACzB,KAFvB,KAEgCD,IAAAA,GAAAA,IAAAA,GAAAA,mBAAmB,CAACC,KAFpD,CADK,EAKLyB,CAAAA,gBAAAA,GAAAA,MAAM,CAACvB,QALF,KAAA,IAAA,GAAA,gBAAA,GAKcH,mBAAmB,CAACG,QALlC,CAAP,CAAA;AAOD,OAjBI;AAkBLgC,MAAAA,eAAe,EAAE,SAAA,eAAA,CAAAC,OAAO,EAAA;AAAA,QAAA,OACtBlB,QAAQ,CAACmB,OAAT,CAAiBjB,oBADK,IAAA,IAAA,GAAA,KAAA,CAAA,GACtBF,QAAQ,CAACmB,OAAT,CAAiBjB,oBAAjB,CAAwCgB,OAAxC,CADsB,CAAA;AAAA,OAlBnB;AAoBLE,MAAAA,mBAAmB,EAAE,SAAA,mBAAA,CAAAF,OAAO,EAAA;AAAA,QAAA,OAC1BlB,QAAQ,CAACmB,OAAT,CAAiBf,wBADS,IAAA,IAAA,GAAA,KAAA,CAAA,GAC1BJ,QAAQ,CAACmB,OAAT,CAAiBf,wBAAjB,CAA4Cc,OAA5C,CAD0B,CAAA;AAAA,OApBvB;AAsBLG,MAAAA,iBAAiB,EAAE,SAAM,iBAAA,GAAA;AAAA,QAAA,IAAA,qBAAA,CAAA;;AACvBrB,QAAAA,QAAQ,CAACiB,eAAT,CAAyBjB,CAAAA,qBAAAA,GAAAA,QAAQ,CAACsB,YAAT,CAAsB/B,YAA/C,KAAA,IAAA,GAAA,qBAAA,GAA+D,EAA/D,CAAA,CAAA;AACD,OAxBI;AAyBLgC,MAAAA,mBAAmB,EAAE,SAAM,mBAAA,GAAA;AAAA,QAAA,IAAA,sBAAA,CAAA;;AACzBvB,QAAAA,QAAQ,CAACoB,mBAAT,CACEpB,CAAAA,sBAAAA,GAAAA,QAAQ,CAACsB,YAAT,CAAsB9B,gBADxB,KAAA,IAAA,GAAA,sBAAA,GAC4C,EAD5C,CAAA,CAAA;AAGD,OA7BI;AA8BLgC,MAAAA,eAAe,EAAE,SAAAjB,eAAAA,CAAAA,QAAQ,EAAI;AAC3BP,QAAAA,QAAQ,CAACiB,eAAT,CAAyB,UAAgC,KAAA,EAAA;AAAA,gBAA5BV,QAA4B,CAAA,CAAA;AAAA,kBAAXkB,IAAW,kEAA5BlB,QAA4B,CAAA,CAAA,GAAA,CAAAmB,uCAAA,CAAA,EAAA;;AACvD,UAAA,OAAOD,IAAP,CAAA;AACD,SAFD,CAAA,CAAA;AAGD,OAlCI;AAmCLE,MAAAA,eAAe,EAAE,SAAAC,eAAAA,CAAAA,QAAQ,EAAI;AAC3B,QAAA,IAAMC,MAAM,GAAG7B,QAAQ,CAAC8B,SAAT,CAAmBF,QAAnB,CAAf,CAAA;AAEA,QAAO5B,OAAAA,QAAQ,CAACwB,eAAT,CAAyBK,MAAM,CAACrB,MAAP,CAAcK,EAAvC,CAAP,CAAA;AACD,OAvCI;AAwCLkB,MAAAA,kBAAkB,EAAE,SAAAH,kBAAAA,CAAAA,QAAQ,EAAI;AAC9B,QAAA,IAAMC,MAAM,GAAG7B,QAAQ,CAAC8B,SAAT,CAAmBF,QAAnB,CAAf,CAAA;;AAEA,QAAI,IAAA,CAACC,MAAL,EAAa;AACX,UAAM,MAAA,IAAInB,KAAJ,EAAN,CAAA;AACD,SAAA;;AAED,QAAOV,OAAAA,QAAQ,CAACgC,kBAAT,CAA4BH,MAAM,CAACrB,MAAP,CAAcK,EAA1C,CAAP,CAAA;AACD,OAhDI;AAiDLmB,MAAAA,kBAAkB,EAAE,SAAAzB,kBAAAA,CAAAA,QAAQ,EAAI;AAAA,QAAA,IAAA,KAAA,EAAA,KAAA,EAAA,qBAAA,CAAA;;AAC9B,QAAA,IAAMC,MAAM,GAAGR,QAAQ,CAACS,SAAT,CAAmBF,QAAnB,CAAf,CAAA;;AAEA,QAAI,IAAA,CAACC,MAAL,EAAa;AACX,UAAM,MAAA,IAAIE,KAAJ,EAAN,CAAA;AACD,SAAA;;AAED,QAAA,OAAA,CAAA,KAAA,GAAA,CAAA,KAAA,GAAA,CAAA,qBAAA,GACEF,MAAM,CAACyB,cADT,KAAA,IAAA,GAAA,qBAAA,GAEEjC,QAAQ,CAACmB,OAAT,CAAiBe,oBAFnB,KAGE1B,IAAAA,GAAAA,KAAAA,GAAAA,MAAM,CAAC2B,gBAHT,oBAIE,IAJF,CAAA;AAMD,OA9DI;AA+DLC,MAAAA,mBAAmB,EAAE,SAAA7B,mBAAAA,CAAAA,QAAQ,EAAI;AAC/B,QAAA,IAAMC,MAAM,GAAGR,QAAQ,CAACS,SAAT,CAAmBF,QAAnB,CAAf,CAAA;;AAEA,QAAI,IAAA,CAACC,MAAL,EAAa;AACX,UAAM,MAAA,IAAIE,KAAJ,EAAN,CAAA;AACD,SAAA;;AAED,QACEV,OAAAA,QAAQ,CAACY,QAAT,EAAA,CAAoBpB,gBAApB,CAAqCK,gBAArC,KAA0DU,QAD5D,CAAA;AAGD,OAzEI;AA0EL8B,MAAAA,mBAAmB,EAAE,SAAAT,mBAAAA,CAAAA,QAAQ,EAAI;AAC/B,QAAA,IAAMC,MAAM,GAAG7B,QAAQ,CAAC8B,SAAT,CAAmBF,QAAnB,CAAf,CAAA;;AAEA,QAAI,IAAA,CAACC,MAAL,EAAa;AACX,UAAM,MAAA,IAAInB,KAAJ,EAAN,CAAA;AACD,SAAA;;AAED,QAAOV,OAAAA,QAAQ,CAACoC,mBAAT,CAA6BP,MAAM,CAACrB,MAAP,CAAcK,EAA3C,CAAP,CAAA;AACD,OAlFI;AAoFLyB,MAAAA,qBAAqB,EAAE,SAAA,qBAAA,CAACV,QAAD,EAAWW,SAAX,EAAyB;AAC9C,QAAA,IAAMV,MAAM,GAAG7B,QAAQ,CAAC8B,SAAT,CAAmBF,QAAnB,CAAf,CAAA;AACA,QAAMpB,IAAAA,MAAM,GAAGR,QAAQ,CAACS,SAAT,CAAmBoB,MAAM,CAACrB,MAAP,CAAcK,EAAjC,CAAf,CAAA;AAEA,QAAA,IAAM2B,SAAS,GAAGhC,MAAM,CAACiC,YAAP,EAAlB,CAAA;;AAEA,QAAA,IAAMC,aAAa,GAAG,SAAhBA,aAAgB,CAACC,CAAD,EAAgB;AACpC,UAAA,IAAIC,iBAAiB,CAACD,CAAD,CAArB,EAA0B;AACxB;AACA,YAAIA,IAAAA,CAAC,CAACE,OAAF,IAAaF,CAAC,CAACE,OAAF,CAAUC,MAAV,GAAmB,CAApC,EAAuC;AACrC,cAAA,OAAA;AACD,aAAA;AACF,WAAA;;AAED,UAAMjB,IAAAA,MAAM,GAAGD,QAAQ,GAAG5B,QAAQ,CAAC8B,SAAT,CAAmBF,QAAnB,CAAH,GAAkCmB,SAAzD,CAAA;AAEA,UAAA,IAAMrD,SAAS,GAAGmC,MAAM,GAAGA,MAAM,CAACmB,QAAP,EAAH,GAAuBxC,MAAM,CAACwC,QAAP,EAA/C,CAAA;AAEA,UAAMlD,IAAAA,iBAAqC,GAAG+B,MAAM,GAChDA,MAAM,CAACoB,cAAP,EAAwBC,CAAAA,GAAxB,CAA4B,UAAAC,CAAC,EAAA;AAAA,YAAI,OAAA,CAACA,CAAC,CAAC3C,MAAF,CAASK,EAAV,EAAcsC,CAAC,CAACH,QAAF,EAAd,CAAJ,CAAA;AAAA,WAA7B,CADgD,GAEhD,CAAC,CAACxC,MAAM,CAACK,EAAR,EAAYL,MAAM,CAACwC,QAAP,EAAZ,CAAD,CAFJ,CAAA;AAIA,UAAMI,IAAAA,OAAO,GAAGR,iBAAiB,CAACD,CAAD,CAAjB,GACZ7B,IAAI,CAACuC,KAAL,CAAWV,CAAC,CAACE,OAAF,CAAU,CAAV,CAAA,CAAaO,OAAxB,CADY,GAEXT,CAAD,CAAkBS,OAFtB,CAAA;;AAIA,UAAME,IAAAA,YAAY,GAAG,SAAfA,YAAe,CACnBC,SADmB,EAEnBC,UAFmB,EAGhB;AACH,YAAA,IAAI,OAAOA,UAAP,KAAsB,QAA1B,EAAoC;AAClC,cAAA,OAAA;AACD,aAAA;;AAED,YAAIC,IAAAA,eAA6B,GAAG,EAApC,CAAA;AAEAzD,YAAAA,QAAQ,CAACoB,mBAAT,CAA6B,UAAAsC,GAAG,EAAI;AAAA,cAAA,IAAA,gBAAA,EAAA,cAAA,CAAA;;AAClC,cAAM/D,IAAAA,WAAW,GAAG6D,UAAU,IAAIE,CAAAA,gBAAAA,GAAAA,GAAJ,IAAIA,IAAAA,GAAAA,KAAAA,CAAAA,GAAAA,GAAG,CAAEjE,WAAT,KAAwB,IAAA,GAAA,gBAAA,GAAA,CAAxB,CAA9B,CAAA;AACA,cAAA,IAAMG,eAAe,GAAGkB,IAAI,CAACE,GAAL,CACtBrB,WAAW,IAAI+D,CAAAA,cAAAA,GAAAA,GAAJ,oBAAIA,GAAG,CAAEhE,SAAT,KAAsB,IAAA,GAAA,cAAA,GAAA,CAAtB,CADW,EAEtB,CAAC,QAFqB,CAAxB,CAAA;AAKAgE,cAAAA,GAAG,CAAC5D,iBAAJ,CAAsB6D,OAAtB,CAA8B,UAA6B,KAAA,EAAA;AAAA,gBAAA,IAA3BpD,QAA2B,GAAA,KAAA,CAAA,CAAA,CAAA;AAAA,oBAAjBqD,WAAiB,GAAA,KAAA,CAAA,CAAA,CAAA,CAAA;AACzDH,gBAAAA,eAAe,CAAClD,QAAD,CAAf,GACEO,IAAI,CAACuC,KAAL,CACEvC,IAAI,CAACE,GAAL,CAAS4C,WAAW,GAAGA,WAAW,GAAGhE,eAArC,EAAsD,CAAtD,CAAA,GACE,GAFJ,CAAA,GAGI,GAJN,CAAA;AAKD,eAND,CAAA,CAAA;AAQA,cAAA,OAAAiE,oCAAA,CAAA,EAAA,EACKH,GADL,EAAA;AAEE/D,gBAAAA,WAAW,EAAXA,WAFF;AAGEC,gBAAAA,eAAe,EAAfA,eAAAA;AAHF,eAAA,CAAA,CAAA;AAKD,aApBD,CAAA,CAAA;;AAsBA,YACEI,IAAAA,QAAQ,CAACmB,OAAT,CAAiBlB,gBAAjB,KAAsC,UAAtC,IACAsD,SAAS,KAAK,KAFhB,EAGE;AACAvD,cAAAA,QAAQ,CAACiB,eAAT,CAAyB,UAAAyC,GAAG,EAAA;AAAA,gBACvBA,OAAAA,oCAAAA,CAAAA,EAAAA,EAAAA,GADuB,EAEvBD,eAFuB,CAAA,CAAA;AAAA,eAA5B,CAAA,CAAA;AAID,aAAA;AACF,WAzCD,CAAA;;AA2CA,UAAA,IAAMK,MAAM,GAAG,SAATA,MAAS,CAACN,UAAD,EAAA;AAAA,YAAA,OACbF,YAAY,CAAC,MAAD,EAASE,UAAT,CADC,CAAA;AAAA,WAAf,CAAA;;AAGA,UAAA,IAAMO,KAAK,GAAG,SAARA,KAAQ,CAACP,UAAD,EAAyB;AACrCF,YAAAA,YAAY,CAAC,KAAD,EAAQE,UAAR,CAAZ,CAAA;AAEAxD,YAAAA,QAAQ,CAACoB,mBAAT,CAA6B,UAAAsC,GAAG,EAAA;AAAA,cAAA,OAAAG,oCAAA,CAAA,EAAA,EAC3BH,GAD2B,EAAA;AAE9B7D,gBAAAA,gBAAgB,EAAE,KAFY;AAG9BJ,gBAAAA,WAAW,EAAE,IAHiB;AAI9BC,gBAAAA,SAAS,EAAE,IAJmB;AAK9BC,gBAAAA,WAAW,EAAE,IALiB;AAM9BC,gBAAAA,eAAe,EAAE,IANa;AAO9BE,gBAAAA,iBAAiB,EAAE,EAAA;AAPW,eAAA,CAAA,CAAA;AAAA,aAAhC,CAAA,CAAA;AASD,WAZD,CAAA;;AAcA,UAAA,IAAMkE,WAAW,GAAG;AAClBC,YAAAA,WAAW,EAAE,SAAA,WAAA,CAACtB,CAAD,EAAA;AAAA,cAAA,OAAmBmB,MAAM,CAACnB,CAAC,CAACS,OAAH,CAAzB,CAAA;AAAA,aADK;AAElBc,YAAAA,SAAS,EAAE,SAACvB,SAAAA,CAAAA,CAAD,EAAmB;AAC5BwB,cAAAA,QAAQ,CAACC,mBAAT,CAA6B,WAA7B,EAA0CJ,WAAW,CAACC,WAAtD,CAAA,CAAA;AACAE,cAAAA,QAAQ,CAACC,mBAAT,CAA6B,SAA7B,EAAwCJ,WAAW,CAACE,SAApD,CAAA,CAAA;AACAH,cAAAA,KAAK,CAACpB,CAAC,CAACS,OAAH,CAAL,CAAA;AACD,aAAA;AANiB,WAApB,CAAA;AASA,UAAA,IAAMiB,WAAW,GAAG;AAClBJ,YAAAA,WAAW,EAAE,SAACtB,WAAAA,CAAAA,CAAD,EAAmB;AAC9B,cAAIA,IAAAA,CAAC,CAAC2B,UAAN,EAAkB;AAChB3B,gBAAAA,CAAC,CAAC4B,cAAF,EAAA,CAAA;AACA5B,gBAAAA,CAAC,CAAC6B,eAAF,EAAA,CAAA;AACD,eAAA;;AACDV,cAAAA,MAAM,CAACnB,CAAC,CAACE,OAAF,CAAU,CAAV,CAAaO,CAAAA,OAAd,CAAN,CAAA;AACA,cAAA,OAAO,KAAP,CAAA;AACD,aARiB;AASlBc,YAAAA,SAAS,EAAE,SAACvB,SAAAA,CAAAA,CAAD,EAAmB;AAC5BwB,cAAAA,QAAQ,CAACC,mBAAT,CAA6B,WAA7B,EAA0CC,WAAW,CAACJ,WAAtD,CAAA,CAAA;AACAE,cAAAA,QAAQ,CAACC,mBAAT,CAA6B,UAA7B,EAAyCC,WAAW,CAACH,SAArD,CAAA,CAAA;;AACA,cAAIvB,IAAAA,CAAC,CAAC2B,UAAN,EAAkB;AAChB3B,gBAAAA,CAAC,CAAC4B,cAAF,EAAA,CAAA;AACA5B,gBAAAA,CAAC,CAAC6B,eAAF,EAAA,CAAA;AACD,eAAA;;AACDT,cAAAA,KAAK,CAACpB,CAAC,CAACE,OAAF,CAAU,CAAV,CAAaO,CAAAA,OAAd,CAAL,CAAA;AACD,aAAA;AAjBiB,WAApB,CAAA;AAoBA,UAAMqB,IAAAA,kBAAkB,GAAGC,qBAAqB,EAC5C,GAAA;AAAEC,YAAAA,OAAO,EAAE,KAAA;AAAX,WAD4C,GAE5C,KAFJ,CAAA;;AAIA,UAAA,IAAI/B,iBAAiB,CAACD,CAAD,CAArB,EAA0B;AACxBwB,YAAAA,QAAQ,CAACS,gBAAT,CACE,WADF,EAEEP,WAAW,CAACJ,WAFd,EAGEQ,kBAHF,CAAA,CAAA;AAKAN,YAAAA,QAAQ,CAACS,gBAAT,CACE,UADF,EAEEP,WAAW,CAACH,SAFd,EAGEO,kBAHF,CAAA,CAAA;AAKD,WAXD,MAWO;AACLN,YAAAA,QAAQ,CAACS,gBAAT,CACE,WADF,EAEEZ,WAAW,CAACC,WAFd,EAGEQ,kBAHF,CAAA,CAAA;AAKAN,YAAAA,QAAQ,CAACS,gBAAT,CACE,SADF,EAEEZ,WAAW,CAACE,SAFd,EAGEO,kBAHF,CAAA,CAAA;AAKD,WAAA;;AAEDzE,UAAAA,QAAQ,CAACoB,mBAAT,CAA6B,UAAAsC,GAAG,EAAA;AAAA,YAAA,OAAAG,oCAAA,CAAA,EAAA,EAC3BH,GAD2B,EAAA;AAE9BjE,cAAAA,WAAW,EAAE2D,OAFiB;AAG9B1D,cAAAA,SAAS,EAATA,SAH8B;AAI9BC,cAAAA,WAAW,EAAE,CAJiB;AAK9BC,cAAAA,eAAe,EAAE,CALa;AAM9BE,cAAAA,iBAAiB,EAAjBA,iBAN8B;AAO9BD,cAAAA,gBAAgB,EAAEW,MAAM,CAACK,EAAAA;AAPK,aAAA,CAAA,CAAA;AAAA,WAAhC,CAAA,CAAA;AASD,SAlJD,CAAA;;AAoJA,QAAMgE,IAAAA,YAAgC,GAAGrC,SAAS,GAC9C;AACEsC,UAAAA,KAAK,EAAE,iBADT;AAEEC,UAAAA,SAAS,EAAE,KAFb;AAGEC,UAAAA,IAAI,EAAE,WAHR;AAIEC,UAAAA,WAAW,EAAE,SAACtC,WAAAA,CAAAA,CAAD,EAAmB;AAC5BA,YAAAA,CAAD,CAAWuC,OAAX,IAACvC,IAAAA,GAAAA,KAAAA,CAAAA,GAAAA,CAAD,CAAWuC,OAAX,EAAA,CAAA;AACDxC,YAAAA,aAAa,CAACC,CAAD,CAAb,CAAA;AACD,WAPH;AAQEwC,UAAAA,YAAY,EAAE,SAACxC,YAAAA,CAAAA,CAAD,EAAmB;AAC7BA,YAAAA,CAAD,CAAWuC,OAAX,IAACvC,IAAAA,GAAAA,KAAAA,CAAAA,GAAAA,CAAD,CAAWuC,OAAX,EAAA,CAAA;AACDxC,YAAAA,aAAa,CAACC,CAAD,CAAb,CAAA;AACD,WAAA;AAXH,SAD8C,GAc9C,EAdJ,CAAA;AAgBA,QAAA,OAAOyC,gBAAU,CAACP,YAAD,EAAetC,SAAf,CAAjB,CAAA;AACD,OAAA;AA/PI,KAAP,CAAA;AAiQD,GAhSyB;AAkS1B8C,EAAAA,YAAY,EAAE,SAAA,YAAA,CACZ7E,MADY,EAEZR,QAFY,EAGsB;AAClC,IAAO,OAAA;AACLsF,MAAAA,aAAa,EAAE,SAAA,aAAA,GAAA;AAAA,QAAA,OAAMtF,QAAQ,CAACoC,mBAAT,CAA6B5B,MAAM,CAACK,EAApC,CAAN,CAAA;AAAA,OADV;AAEL4B,MAAAA,YAAY,EAAE,SAAA,YAAA,GAAA;AAAA,QAAA,OAAMzC,QAAQ,CAACgC,kBAAT,CAA4BxB,MAAM,CAACK,EAAnC,CAAN,CAAA;AAAA,OAFT;AAGL0E,MAAAA,SAAS,EAAE,SAAA,SAAA,GAAA;AAAA,QAAA,OAAMvF,QAAQ,CAACwB,eAAT,CAAyBhB,MAAM,CAACK,EAAhC,CAAN,CAAA;AAAA,OAAA;AAHN,KAAP,CAAA;AAKD,GA3SyB;AA6S1B2E,EAAAA,YAAY,EAAE,SAAA,YAAA,CACZ3D,MADY,EAEZ7B,QAFY,EAGsB;AAClC,IAAO,OAAA;AACLsF,MAAAA,aAAa,EAAE,SAAA,aAAA,GAAA;AAAA,QAAMtF,OAAAA,QAAQ,CAACoC,mBAAT,CAA6BP,MAAM,CAACrB,MAAP,CAAcK,EAA3C,CAAN,CAAA;AAAA,OADV;AAEL4B,MAAAA,YAAY,EAAE,SAAA,YAAA,GAAA;AAAA,QAAMzC,OAAAA,QAAQ,CAACgC,kBAAT,CAA4BH,MAAM,CAACrB,MAAP,CAAcK,EAA1C,CAAN,CAAA;AAAA,OAFT;AAGL0E,MAAAA,SAAS,EAAE,SAAA,SAAA,GAAA;AAAA,QAAMvF,OAAAA,QAAQ,CAACwB,eAAT,CAAyBK,MAAM,CAACrB,MAAP,CAAcK,EAAvC,CAAN,CAAA;AAAA,OAHN;AAIL4E,MAAAA,eAAe,EAAE,SAAA,eAAA,CAAAlD,SAAS,EAAA;AAAA,QACxBvC,OAAAA,QAAQ,CAACsC,qBAAT,CAA+BT,MAAM,CAAChB,EAAtC,EAA0C0B,SAA1C,CADwB,CAAA;AAAA,OAAA;AAJrB,KAAP,CAAA;AAOD,GAAA;AAxTyB,EAArB;AA2TP,IAAImD,gBAAgC,GAAG,IAAvC,CAAA;AACO,SAAShB,qBAAT,GAAiC;AACtC,EAAA,IAAI,OAAOgB,gBAAP,KAA4B,SAAhC,EAA2C,OAAOA,gBAAP,CAAA;AAE3C,EAAIC,IAAAA,SAAS,GAAG,KAAhB,CAAA;;AACA,EAAI,IAAA;AACF,IAAA,IAAMxE,OAAO,GAAG;AACd,MAAA,IAAIwD,OAAJ,GAAc;AACZgB,QAAAA,SAAS,GAAG,IAAZ,CAAA;AACA,QAAA,OAAO,KAAP,CAAA;AACD,OAAA;;AAJa,KAAhB,CAAA;;AAOA,IAAA,IAAMC,IAAI,GAAG,SAAPA,IAAO,GAAM,EAAnB,CAAA;;AAEAC,IAAAA,MAAM,CAACjB,gBAAP,CAAwB,MAAxB,EAAgCgB,IAAhC,EAAsCzE,OAAtC,CAAA,CAAA;AACA0E,IAAAA,MAAM,CAACzB,mBAAP,CAA2B,MAA3B,EAAmCwB,IAAnC,CAAA,CAAA;AACD,GAZD,CAYE,OAAOE,GAAP,EAAY;AACZH,IAAAA,SAAS,GAAG,KAAZ,CAAA;AACD,GAAA;;AACDD,EAAAA,gBAAgB,GAAGC,SAAnB,CAAA;AACA,EAAA,OAAOD,gBAAP,CAAA;AACD,CAAA;;AAED,SAAS9C,iBAAT,CAA2BD,CAA3B,EAAwD;AACtD,EAAA,OAAQA,CAAD,CAAkBoD,IAAlB,KAA2B,YAAlC,CAAA;AACD;;;;;;"}
|
|
1
|
+
{"version":3,"file":"ColumnSizing.js","sources":["../../../src/features/ColumnSizing.ts"],"sourcesContent":["import {\n Column,\n Getter,\n Header,\n OnChangeFn,\n TableGenerics,\n PropGetterValue,\n TableInstance,\n Updater,\n} from '../types'\nimport { makeStateUpdater, propGetter } from '../utils'\n\n//\n\nexport type ColumnSizingTableState = {\n columnSizing: ColumnSizing\n columnSizingInfo: ColumnSizingInfoState\n}\n\nexport type ColumnSizing = Record<string, number>\n\nexport type ColumnSizingInfoState = {\n startOffset: null | number\n startSize: null | number\n deltaOffset: null | number\n deltaPercentage: null | number\n isResizingColumn: false | string\n columnSizingStart: [string, number][]\n}\n\nexport type ColumnResizeMode = 'onChange' | 'onEnd'\n\nexport type ColumnSizingOptions = {\n enableColumnResizing?: boolean\n columnResizeMode?: ColumnResizeMode\n onColumnSizingChange?: OnChangeFn<ColumnSizing>\n onColumnSizingInfoChange?: OnChangeFn<ColumnSizingInfoState>\n}\n\nexport type ColumnSizingDefaultOptions = {\n columnResizeMode: ColumnResizeMode\n onColumnSizingChange: OnChangeFn<ColumnSizing>\n onColumnSizingInfoChange: OnChangeFn<ColumnSizingInfoState>\n}\n\nexport type ColumnResizerProps = {\n title?: string\n onMouseDown?: (e: MouseEvent) => void\n onTouchStart?: (e: TouchEvent) => void\n draggable?: boolean\n role?: string\n}\n\nexport type ColumnSizingInstance<TGenerics extends TableGenerics> = {\n getColumnWidth: (columnId: string) => number\n setColumnSizing: (updater: Updater<ColumnSizing>) => void\n setColumnSizingInfo: (updater: Updater<ColumnSizingInfoState>) => void\n resetColumnSizing: () => void\n resetColumnSize: (columnId: string) => void\n resetHeaderSize: (headerId: string) => void\n resetHeaderSizeInfo: () => void\n getColumnCanResize: (columnId: string) => boolean\n getHeaderCanResize: (headerId: string) => boolean\n getHeaderResizerProps: <TGetter extends Getter<ColumnResizerProps>>(\n headerId: string,\n userProps?: TGetter\n ) => undefined | PropGetterValue<ColumnResizerProps, TGetter>\n getColumnIsResizing: (columnId: string) => boolean\n getHeaderIsResizing: (headerId: string) => boolean\n}\n\nexport type ColumnSizingColumnDef = {\n enableResizing?: boolean\n defaultCanResize?: boolean\n width?: number\n minWidth?: number\n maxWidth?: number\n}\n\nexport type ColumnSizingColumn<TGenerics extends TableGenerics> = {\n getCanResize: () => boolean\n getIsResizing: () => boolean\n resetSize: () => void\n}\n\nexport type ColumnSizingHeader<TGenerics extends TableGenerics> = {\n getCanResize: () => boolean\n getIsResizing: () => boolean\n getResizerProps: <TGetter extends Getter<ColumnResizerProps>>(\n userProps?: TGetter\n ) => undefined | PropGetterValue<ColumnResizerProps, TGetter>\n resetSize: () => void\n}\n\n//\n\nexport const defaultColumnSizing = {\n width: 150,\n minWidth: 20,\n maxWidth: Number.MAX_SAFE_INTEGER,\n}\n\nexport const ColumnSizing = {\n getDefaultColumn: (): ColumnSizingColumnDef => {\n return defaultColumnSizing\n },\n getInitialState: (): ColumnSizingTableState => {\n return {\n columnSizing: {},\n columnSizingInfo: {\n startOffset: null,\n startSize: null,\n deltaOffset: null,\n deltaPercentage: null,\n isResizingColumn: false,\n columnSizingStart: [],\n },\n }\n },\n\n getDefaultOptions: <TGenerics extends TableGenerics>(\n instance: TableInstance<TGenerics>\n ): ColumnSizingDefaultOptions => {\n return {\n columnResizeMode: 'onEnd',\n onColumnSizingChange: makeStateUpdater('columnSizing', instance),\n onColumnSizingInfoChange: makeStateUpdater('columnSizingInfo', instance),\n }\n },\n\n getInstance: <TGenerics extends TableGenerics>(\n instance: TableInstance<TGenerics>\n ): ColumnSizingInstance<TGenerics> => {\n return {\n getColumnWidth: (columnId: string) => {\n const column = instance.getColumn(columnId)\n\n if (!column) {\n throw new Error()\n }\n\n const columnSize = instance.getState().columnSizing[column.id]\n\n return Math.min(\n Math.max(\n column.minWidth ?? defaultColumnSizing.minWidth,\n columnSize ?? column.width ?? defaultColumnSizing.width\n ),\n column.maxWidth ?? defaultColumnSizing.maxWidth\n )\n },\n setColumnSizing: updater =>\n instance.options.onColumnSizingChange?.(updater),\n setColumnSizingInfo: updater =>\n instance.options.onColumnSizingInfoChange?.(updater),\n resetColumnSizing: () => {\n instance.setColumnSizing(instance.initialState.columnSizing ?? {})\n },\n resetHeaderSizeInfo: () => {\n instance.setColumnSizingInfo(\n instance.initialState.columnSizingInfo ?? {}\n )\n },\n resetColumnSize: columnId => {\n instance.setColumnSizing(({ [columnId]: _, ...rest }) => {\n return rest\n })\n },\n resetHeaderSize: headerId => {\n const header = instance.getHeader(headerId)\n\n return instance.resetColumnSize(header.column.id)\n },\n getHeaderCanResize: headerId => {\n const header = instance.getHeader(headerId)\n\n if (!header) {\n throw new Error()\n }\n\n return instance.getColumnCanResize(header.column.id)\n },\n getColumnCanResize: columnId => {\n const column = instance.getColumn(columnId)\n\n if (!column) {\n throw new Error()\n }\n\n return (\n column.enableResizing ??\n instance.options.enableColumnResizing ??\n column.defaultCanResize ??\n true\n )\n },\n getColumnIsResizing: columnId => {\n const column = instance.getColumn(columnId)\n\n if (!column) {\n throw new Error()\n }\n\n return (\n instance.getState().columnSizingInfo.isResizingColumn === columnId\n )\n },\n getHeaderIsResizing: headerId => {\n const header = instance.getHeader(headerId)\n\n if (!header) {\n throw new Error()\n }\n\n return instance.getColumnIsResizing(header.column.id)\n },\n\n getHeaderResizerProps: (headerId, userProps) => {\n const header = instance.getHeader(headerId)\n const column = instance.getColumn(header.column.id)\n\n const canResize = column.getCanResize()\n\n const onResizeStart = (e: unknown) => {\n if (isTouchStartEvent(e)) {\n // lets not respond to multiple touches (e.g. 2 or 3 fingers)\n if (e.touches && e.touches.length > 1) {\n return\n }\n }\n\n const header = headerId ? instance.getHeader(headerId) : undefined\n\n const startSize = header ? header.getWidth() : column.getWidth()\n\n const columnSizingStart: [string, number][] = header\n ? header.getLeafHeaders().map(d => [d.column.id, d.getWidth()])\n : [[column.id, column.getWidth()]]\n\n const clientX = isTouchStartEvent(e)\n ? Math.round(e.touches[0].clientX)\n : (e as MouseEvent).clientX\n\n const updateOffset = (\n eventType: 'move' | 'end',\n clientXPos?: number\n ) => {\n if (typeof clientXPos !== 'number') {\n return\n }\n\n let newColumnSizing: ColumnSizing = {}\n\n instance.setColumnSizingInfo(old => {\n const deltaOffset = clientXPos - (old?.startOffset ?? 0)\n const deltaPercentage = Math.max(\n deltaOffset / (old?.startSize ?? 0),\n -0.999999\n )\n\n old.columnSizingStart.forEach(([columnId, headerWidth]) => {\n newColumnSizing[columnId] =\n Math.round(\n Math.max(headerWidth + headerWidth * deltaPercentage, 0) *\n 100\n ) / 100\n })\n\n return {\n ...old,\n deltaOffset,\n deltaPercentage,\n }\n })\n\n if (\n instance.options.columnResizeMode === 'onChange' ||\n eventType === 'end'\n ) {\n instance.setColumnSizing(old => ({\n ...old,\n ...newColumnSizing,\n }))\n }\n }\n\n const onMove = (clientXPos?: number) =>\n updateOffset('move', clientXPos)\n\n const onEnd = (clientXPos?: number) => {\n updateOffset('end', clientXPos)\n\n instance.setColumnSizingInfo(old => ({\n ...old,\n isResizingColumn: false,\n startOffset: null,\n startSize: null,\n deltaOffset: null,\n deltaPercentage: null,\n columnSizingStart: [],\n }))\n }\n\n const mouseEvents = {\n moveHandler: (e: MouseEvent) => onMove(e.clientX),\n upHandler: (e: MouseEvent) => {\n document.removeEventListener('mousemove', mouseEvents.moveHandler)\n document.removeEventListener('mouseup', mouseEvents.upHandler)\n onEnd(e.clientX)\n },\n }\n\n const touchEvents = {\n moveHandler: (e: TouchEvent) => {\n if (e.cancelable) {\n e.preventDefault()\n e.stopPropagation()\n }\n onMove(e.touches[0].clientX)\n return false\n },\n upHandler: (e: TouchEvent) => {\n document.removeEventListener('touchmove', touchEvents.moveHandler)\n document.removeEventListener('touchend', touchEvents.upHandler)\n if (e.cancelable) {\n e.preventDefault()\n e.stopPropagation()\n }\n onEnd(e.touches[0].clientX)\n },\n }\n\n const passiveIfSupported = passiveEventSupported()\n ? { passive: false }\n : false\n\n if (isTouchStartEvent(e)) {\n document.addEventListener(\n 'touchmove',\n touchEvents.moveHandler,\n passiveIfSupported\n )\n document.addEventListener(\n 'touchend',\n touchEvents.upHandler,\n passiveIfSupported\n )\n } else {\n document.addEventListener(\n 'mousemove',\n mouseEvents.moveHandler,\n passiveIfSupported\n )\n document.addEventListener(\n 'mouseup',\n mouseEvents.upHandler,\n passiveIfSupported\n )\n }\n\n instance.setColumnSizingInfo(old => ({\n ...old,\n startOffset: clientX,\n startSize,\n deltaOffset: 0,\n deltaPercentage: 0,\n columnSizingStart,\n isResizingColumn: column.id,\n }))\n }\n\n const initialProps: ColumnResizerProps = canResize\n ? {\n title: 'Toggle Grouping',\n draggable: false,\n role: 'separator',\n onMouseDown: (e: MouseEvent) => {\n ;(e as any).persist?.()\n onResizeStart(e)\n },\n onTouchStart: (e: TouchEvent) => {\n ;(e as any).persist?.()\n onResizeStart(e)\n },\n }\n : {}\n\n return propGetter(initialProps, userProps)\n },\n }\n },\n\n createColumn: <TGenerics extends TableGenerics>(\n column: Column<TGenerics>,\n instance: TableInstance<TGenerics>\n ): ColumnSizingColumn<TGenerics> => {\n return {\n getIsResizing: () => instance.getColumnIsResizing(column.id),\n getCanResize: () => instance.getColumnCanResize(column.id),\n resetSize: () => instance.resetColumnSize(column.id),\n }\n },\n\n createHeader: <TGenerics extends TableGenerics>(\n header: Header<TGenerics>,\n instance: TableInstance<TGenerics>\n ): ColumnSizingHeader<TGenerics> => {\n return {\n getIsResizing: () => instance.getColumnIsResizing(header.column.id),\n getCanResize: () => instance.getColumnCanResize(header.column.id),\n resetSize: () => instance.resetColumnSize(header.column.id),\n getResizerProps: userProps =>\n instance.getHeaderResizerProps(header.id, userProps),\n }\n },\n}\n\nlet passiveSupported: boolean | null = null\nexport function passiveEventSupported() {\n if (typeof passiveSupported === 'boolean') return passiveSupported\n\n let supported = false\n try {\n const options = {\n get passive() {\n supported = true\n return false\n },\n }\n\n const noop = () => {}\n\n window.addEventListener('test', noop, options)\n window.removeEventListener('test', noop)\n } catch (err) {\n supported = false\n }\n passiveSupported = supported\n return passiveSupported\n}\n\nfunction isTouchStartEvent(e: unknown): e is TouchEvent {\n return (e as TouchEvent).type === 'touchstart'\n}\n"],"names":["defaultColumnSizing","width","minWidth","maxWidth","Number","MAX_SAFE_INTEGER","ColumnSizing","getDefaultColumn","getInitialState","columnSizing","columnSizingInfo","startOffset","startSize","deltaOffset","deltaPercentage","isResizingColumn","columnSizingStart","getDefaultOptions","instance","columnResizeMode","onColumnSizingChange","makeStateUpdater","onColumnSizingInfoChange","getInstance","getColumnWidth","columnId","column","getColumn","Error","columnSize","getState","id","Math","min","max","setColumnSizing","updater","options","setColumnSizingInfo","resetColumnSizing","initialState","resetHeaderSizeInfo","resetColumnSize","rest","_toPropertyKey","resetHeaderSize","headerId","header","getHeader","getHeaderCanResize","getColumnCanResize","enableResizing","enableColumnResizing","defaultCanResize","getColumnIsResizing","getHeaderIsResizing","getHeaderResizerProps","userProps","canResize","getCanResize","onResizeStart","e","isTouchStartEvent","touches","length","undefined","getWidth","getLeafHeaders","map","d","clientX","round","updateOffset","eventType","clientXPos","newColumnSizing","old","forEach","headerWidth","_extends","onMove","onEnd","mouseEvents","moveHandler","upHandler","document","removeEventListener","touchEvents","cancelable","preventDefault","stopPropagation","passiveIfSupported","passiveEventSupported","passive","addEventListener","initialProps","title","draggable","role","onMouseDown","persist","onTouchStart","propGetter","createColumn","getIsResizing","resetSize","createHeader","getResizerProps","passiveSupported","supported","noop","window","err","type"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Headers.js","sources":["../../../src/features/Headers.ts"],"sourcesContent":["import {\n Cell,\n Column,\n CoreHeader,\n FooterGroupProps,\n FooterProps,\n Getter,\n Header,\n HeaderGroup,\n HeaderGroupProps,\n HeaderProps,\n TableGenerics,\n PropGetterValue,\n TableInstance,\n Row,\n} from '../types'\nimport { propGetter, memo } from '../utils'\nimport { ColumnSizing } from './ColumnSizing'\n\nexport type HeadersRow<TGenerics extends TableGenerics> = {\n _getAllVisibleCells: () => Cell<TGenerics>[]\n getVisibleCells: () => Cell<TGenerics>[]\n getLeftVisibleCells: () => Cell<TGenerics>[]\n getCenterVisibleCells: () => Cell<TGenerics>[]\n getRightVisibleCells: () => Cell<TGenerics>[]\n}\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 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 getHeaderGroupProps: <TGetter extends Getter<HeaderGroupProps>>(\n id: string,\n userProps?: TGetter\n ) => undefined | PropGetterValue<HeaderGroupProps, TGetter>\n getFooterGroupProps: <TGetter extends Getter<FooterGroupProps>>(\n id: string,\n userProps?: TGetter\n ) => undefined | PropGetterValue<FooterGroupProps, TGetter>\n getHeaderProps: <TGetter extends Getter<HeaderProps>>(\n headerId: string,\n userProps?: TGetter\n ) => undefined | PropGetterValue<HeaderProps, TGetter>\n getFooterProps: <TGetter extends Getter<FooterProps>>(\n headerId: string,\n userProps?: TGetter\n ) => undefined | PropGetterValue<FooterProps, TGetter>\n getTotalWidth: () => number\n}\n\n//\n\nexport const Headers = {\n createRow: <TGenerics extends TableGenerics>(\n row: Row<TGenerics>,\n instance: TableInstance<TGenerics>\n ): HeadersRow<TGenerics> => {\n return {\n _getAllVisibleCells: memo(\n () => [\n row\n .getAllCells()\n .filter(cell => cell.column.getIsVisible())\n .map(d => d.id)\n .join('_'),\n ],\n _ => {\n return row.getAllCells().filter(cell => cell.column.getIsVisible())\n },\n {\n key: 'row._getAllVisibleCells',\n debug: () => instance.options.debugAll ?? instance.options.debugRows,\n }\n ),\n getVisibleCells: memo(\n () => [\n row.getLeftVisibleCells(),\n row.getCenterVisibleCells(),\n row.getRightVisibleCells(),\n ],\n (left, center, right) => [...left, ...center, ...right],\n {\n key: 'row.getVisibleCells',\n debug: () => instance.options.debugAll ?? instance.options.debugRows,\n }\n ),\n getCenterVisibleCells: memo(\n () => [\n row._getAllVisibleCells(),\n instance.getState().columnPinning.left,\n instance.getState().columnPinning.right,\n ],\n (allCells, left, right) => {\n const leftAndRight = [...(left ?? []), ...(right ?? [])]\n\n return allCells.filter(d => !leftAndRight.includes(d.columnId))\n },\n {\n key: 'row.getCenterVisibleCells',\n debug: () => instance.options.debugAll ?? instance.options.debugRows,\n }\n ),\n getLeftVisibleCells: memo(\n () => [\n row._getAllVisibleCells(),\n instance.getState().columnPinning.left,\n ,\n ],\n (allCells, left) => {\n const cells = (left ?? [])\n .map(columnId => allCells.find(cell => cell.columnId === columnId)!)\n .filter(Boolean)\n\n return cells\n },\n {\n key: 'row.getLeftVisibleCells',\n debug: () => instance.options.debugAll ?? instance.options.debugRows,\n }\n ),\n getRightVisibleCells: memo(\n () => [\n row._getAllVisibleCells(),\n instance.getState().columnPinning.right,\n ],\n (allCells, right) => {\n const cells = (right ?? [])\n .map(columnId => allCells.find(cell => cell.columnId === columnId)!)\n .filter(Boolean)\n\n return cells\n },\n {\n key: 'row.getRightVisibleCells',\n debug: () => instance.options.debugAll ?? instance.options.debugRows,\n }\n ),\n }\n },\n\n getInstance: <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 depth: number\n }\n ) => {\n const id = options.id ?? column.id\n\n let header: CoreHeader<TGenerics> = {\n id,\n column,\n isPlaceholder: options.isPlaceholder,\n placeholderId: options.placeholderId,\n depth: options.depth,\n subHeaders: [],\n colSpan: 0,\n rowSpan: 0,\n getWidth: () => {\n let sum = 0\n\n const recurse = (header: CoreHeader<TGenerics>) => {\n if (header.subHeaders.length) {\n header.subHeaders.forEach(recurse)\n } else {\n sum += header.column.getWidth() ?? 0\n }\n }\n\n recurse(header)\n\n return sum\n },\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 getHeaderProps: userProps =>\n instance.getHeaderProps(header.id, userProps)!,\n getFooterProps: userProps =>\n instance.getFooterProps(header.id, userProps)!,\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 // Yes, we have to convert instance to unknown, because we know more than the compiler here.\n return Object.assign(\n header,\n ColumnSizing.createHeader(header as Header<TGenerics>, instance)\n ) 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: '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: '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: '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: '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: '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: '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: '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: '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: '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: '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: '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: '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: '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: '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: '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: '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 getHeaderGroupProps: (id, userProps) => {\n const headerGroup = instance.getHeaderGroups().find(d => d.id === id)\n\n if (!headerGroup) {\n return\n }\n\n return propGetter(\n {\n key: headerGroup.id,\n role: 'row',\n },\n userProps\n )\n },\n\n getFooterGroupProps: (id, userProps) => {\n const headerGroup = instance.getFooterGroups().find(d => d.id === id)\n\n if (!headerGroup) {\n return\n }\n\n const initialProps = {\n key: headerGroup.id,\n role: 'row',\n }\n\n return propGetter(initialProps, userProps)\n },\n\n getHeaderProps: (id, userProps) => {\n const header = instance.getHeader(id)\n\n if (!header) {\n throw new Error()\n }\n\n const initialProps: HeaderProps = {\n key: header.id,\n role: 'columnheader',\n colSpan: header.colSpan,\n rowSpan: header.rowSpan,\n }\n\n return propGetter(initialProps, userProps)\n },\n\n getFooterProps: (id, userProps) => {\n const header = instance.getHeader(id)\n\n const initialProps: FooterProps = {\n key: header.id,\n role: 'columnfooter',\n colSpan: header.colSpan,\n rowSpan: header.rowSpan,\n }\n\n return propGetter(initialProps, userProps)\n },\n\n getTotalWidth: () => {\n let width = 0\n\n instance.getVisibleLeafColumns().forEach(column => {\n width += column.getWidth() ?? 0\n })\n\n return width\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 getHeaderGroupProps: getterValue =>\n instance.getHeaderGroupProps(`${depth}`, getterValue)!,\n getFooterGroupProps: getterValue =>\n instance.getFooterGroupProps(`${depth}`, getterValue)!,\n }\n\n // The parent columns we're going to scan next\n const parentHeaders: Header<TGenerics>[] = []\n\n // Scan each column for parents\n headersToGroup.forEach(headerToGroup => {\n // What is the latest (last) parent column?\n\n const latestParentHeader = [...parentHeaders].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 const header = instance.createHeader(column, {\n id: [headerFamily, depth, column.id, headerToGroup?.id]\n .filter(Boolean)\n .join('_'),\n isPlaceholder,\n placeholderId: isPlaceholder\n ? `${parentHeaders.filter(d => d.column === column).length}`\n : undefined,\n depth,\n })\n\n if (!latestParentHeader || latestParentHeader.column !== header.column) {\n header.subHeaders.push(headerToGroup)\n parentHeaders.push(header)\n } else {\n latestParentHeader.subHeaders.push(headerToGroup)\n }\n\n // if (!headerToGroup.isPlaceholder) {\n // headerToGroup.column.header = headerToGroup;\n // }\n\n headerGroup.headers.push(headerToGroup)\n })\n\n headerGroups.push(headerGroup)\n\n if (depth > 0) {\n createHeaderGroup(parentHeaders, depth - 1)\n }\n }\n\n const bottomHeaders = columnsToGroup.map(column =>\n instance.createHeader(column, {\n depth: maxDepth,\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","createRow","row","instance","_getAllVisibleCells","memo","getAllCells","filter","cell","column","getIsVisible","map","d","id","join","_","key","debug","options","debugAll","debugRows","getVisibleCells","getLeftVisibleCells","getCenterVisibleCells","getRightVisibleCells","left","center","right","getState","columnPinning","allCells","leftAndRight","includes","columnId","cells","find","Boolean","getInstance","createHeader","header","isPlaceholder","placeholderId","depth","subHeaders","colSpan","rowSpan","getWidth","sum","recurse","length","forEach","getLeafHeaders","leafHeaders","recurseHeader","h","push","getHeaderProps","userProps","getFooterProps","renderHeader","render","renderFooter","footer","Object","assign","ColumnSizing","getHeaderGroups","getAllColumns","getVisibleLeafColumns","allColumns","leafColumns","leftColumns","rightColumns","centerColumns","headerGroups","buildHeaderGroups","debugHeaders","getCenterHeaderGroups","getLeftHeaderGroups","getRightHeaderGroups","getFooterGroups","reverse","getLeftFooterGroups","getCenterFooterGroups","getRightFooterGroups","getFlatHeaders","headerGroup","headers","flat","getLeftFlatHeaders","getCenterFlatHeaders","getRightFlatHeaders","getCenterLeafHeaders","flatHeaders","getLeftLeafHeaders","getRightLeafHeaders","getHeader","process","env","NODE_ENV","console","warn","Error","getHeaderGroupProps","propGetter","role","getFooterGroupProps","initialProps","getTotalWidth","width","columnsToGroup","headerFamily","maxDepth","findMaxDepth","columns","Math","max","createHeaderGroup","headersToGroup","getterValue","parentHeaders","headerToGroup","latestParentHeader","isLeafHeader","parent","undefined","bottomHeaders","recurseHeadersForSpans","filteredHeaders","childRowSpans","childColSpan","childRowSpan","minChildRowSpan","min"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Headers.js","sources":["../../../src/features/Headers.ts"],"sourcesContent":["import {\n Cell,\n Column,\n CoreHeader,\n FooterGroupProps,\n FooterProps,\n Getter,\n Header,\n HeaderGroup,\n HeaderGroupProps,\n HeaderProps,\n TableGenerics,\n PropGetterValue,\n TableInstance,\n Row,\n} from '../types'\nimport { propGetter, memo } from '../utils'\nimport { ColumnSizing } from './ColumnSizing'\n\nexport type HeadersRow<TGenerics extends TableGenerics> = {\n _getAllVisibleCells: () => Cell<TGenerics>[]\n getVisibleCells: () => Cell<TGenerics>[]\n getLeftVisibleCells: () => Cell<TGenerics>[]\n getCenterVisibleCells: () => Cell<TGenerics>[]\n getRightVisibleCells: () => Cell<TGenerics>[]\n}\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 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 getHeaderGroupProps: <TGetter extends Getter<HeaderGroupProps>>(\n id: string,\n userProps?: TGetter\n ) => undefined | PropGetterValue<HeaderGroupProps, TGetter>\n getFooterGroupProps: <TGetter extends Getter<FooterGroupProps>>(\n id: string,\n userProps?: TGetter\n ) => undefined | PropGetterValue<FooterGroupProps, TGetter>\n getHeaderProps: <TGetter extends Getter<HeaderProps>>(\n headerId: string,\n userProps?: TGetter\n ) => undefined | PropGetterValue<HeaderProps, TGetter>\n getFooterProps: <TGetter extends Getter<FooterProps>>(\n headerId: string,\n userProps?: TGetter\n ) => undefined | PropGetterValue<FooterProps, TGetter>\n getTotalWidth: () => number\n}\n\n//\n\nexport const Headers = {\n createRow: <TGenerics extends TableGenerics>(\n row: Row<TGenerics>,\n instance: TableInstance<TGenerics>\n ): HeadersRow<TGenerics> => {\n return {\n _getAllVisibleCells: memo(\n () => [\n row\n .getAllCells()\n .filter(cell => cell.column.getIsVisible())\n .map(d => d.id)\n .join('_'),\n ],\n _ => {\n return row.getAllCells().filter(cell => cell.column.getIsVisible())\n },\n {\n key: 'row._getAllVisibleCells',\n debug: () => instance.options.debugAll ?? instance.options.debugRows,\n }\n ),\n getVisibleCells: memo(\n () => [\n row.getLeftVisibleCells(),\n row.getCenterVisibleCells(),\n row.getRightVisibleCells(),\n ],\n (left, center, right) => [...left, ...center, ...right],\n {\n key: 'row.getVisibleCells',\n debug: () => instance.options.debugAll ?? instance.options.debugRows,\n }\n ),\n getCenterVisibleCells: memo(\n () => [\n row._getAllVisibleCells(),\n instance.getState().columnPinning.left,\n instance.getState().columnPinning.right,\n ],\n (allCells, left, right) => {\n const leftAndRight: string[] = [...(left ?? []), ...(right ?? [])]\n\n return allCells.filter(d => !leftAndRight.includes(d.columnId))\n },\n {\n key: 'row.getCenterVisibleCells',\n debug: () => instance.options.debugAll ?? instance.options.debugRows,\n }\n ),\n getLeftVisibleCells: memo(\n () => [\n row._getAllVisibleCells(),\n instance.getState().columnPinning.left,\n ,\n ],\n (allCells, left) => {\n const cells = (left ?? [])\n .map(columnId => allCells.find(cell => cell.columnId === columnId)!)\n .filter(Boolean)\n\n return cells\n },\n {\n key: 'row.getLeftVisibleCells',\n debug: () => instance.options.debugAll ?? instance.options.debugRows,\n }\n ),\n getRightVisibleCells: memo(\n () => [\n row._getAllVisibleCells(),\n instance.getState().columnPinning.right,\n ],\n (allCells, right) => {\n const cells = (right ?? [])\n .map(columnId => allCells.find(cell => cell.columnId === columnId)!)\n .filter(Boolean)\n\n return cells\n },\n {\n key: 'row.getRightVisibleCells',\n debug: () => instance.options.debugAll ?? instance.options.debugRows,\n }\n ),\n }\n },\n\n getInstance: <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 depth: number\n }\n ) => {\n const id = options.id ?? column.id\n\n let header: CoreHeader<TGenerics> = {\n id,\n column,\n isPlaceholder: options.isPlaceholder,\n placeholderId: options.placeholderId,\n depth: options.depth,\n subHeaders: [],\n colSpan: 0,\n rowSpan: 0,\n getWidth: () => {\n let sum = 0\n\n const recurse = (header: CoreHeader<TGenerics>) => {\n if (header.subHeaders.length) {\n header.subHeaders.forEach(recurse)\n } else {\n sum += header.column.getWidth() ?? 0\n }\n }\n\n recurse(header)\n\n return sum\n },\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 getHeaderProps: userProps =>\n instance.getHeaderProps(header.id, userProps)!,\n getFooterProps: userProps =>\n instance.getFooterProps(header.id, userProps)!,\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 // Yes, we have to convert instance to unknown, because we know more than the compiler here.\n return Object.assign(\n header,\n ColumnSizing.createHeader(header as Header<TGenerics>, instance)\n ) 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: '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: '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: '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: '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: '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: '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: '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: '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: '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: '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: '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: '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: '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: '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: '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: '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 getHeaderGroupProps: (id, userProps) => {\n const headerGroup = instance.getHeaderGroups().find(d => d.id === id)\n\n if (!headerGroup) {\n return\n }\n\n return propGetter(\n {\n key: headerGroup.id,\n role: 'row',\n },\n userProps\n )\n },\n\n getFooterGroupProps: (id, userProps) => {\n const headerGroup = instance.getFooterGroups().find(d => d.id === id)\n\n if (!headerGroup) {\n return\n }\n\n const initialProps = {\n key: headerGroup.id,\n role: 'row',\n }\n\n return propGetter(initialProps, userProps)\n },\n\n getHeaderProps: (id, userProps) => {\n const header = instance.getHeader(id)\n\n if (!header) {\n throw new Error()\n }\n\n const initialProps: HeaderProps = {\n key: header.id,\n role: 'columnheader',\n colSpan: header.colSpan,\n rowSpan: header.rowSpan,\n }\n\n return propGetter(initialProps, userProps)\n },\n\n getFooterProps: (id, userProps) => {\n const header = instance.getHeader(id)\n\n const initialProps: FooterProps = {\n key: header.id,\n role: 'columnfooter',\n colSpan: header.colSpan,\n rowSpan: header.rowSpan,\n }\n\n return propGetter(initialProps, userProps)\n },\n\n getTotalWidth: () => {\n let width = 0\n\n instance.getVisibleLeafColumns().forEach(column => {\n width += column.getWidth() ?? 0\n })\n\n return width\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 getHeaderGroupProps: getterValue =>\n instance.getHeaderGroupProps(`${depth}`, getterValue)!,\n getFooterGroupProps: getterValue =>\n instance.getFooterGroupProps(`${depth}`, getterValue)!,\n }\n\n // The parent columns we're going to scan next\n const parentHeaders: Header<TGenerics>[] = []\n\n // Scan each column for parents\n headersToGroup.forEach(headerToGroup => {\n // What is the latest (last) parent column?\n\n const latestParentHeader = [...parentHeaders].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 const header = instance.createHeader(column, {\n id: [headerFamily, depth, column.id, headerToGroup?.id]\n .filter(Boolean)\n .join('_'),\n isPlaceholder,\n placeholderId: isPlaceholder\n ? `${parentHeaders.filter(d => d.column === column).length}`\n : undefined,\n depth,\n })\n\n if (!latestParentHeader || latestParentHeader.column !== header.column) {\n header.subHeaders.push(headerToGroup)\n parentHeaders.push(header)\n } else {\n latestParentHeader.subHeaders.push(headerToGroup)\n }\n\n // if (!headerToGroup.isPlaceholder) {\n // headerToGroup.column.header = headerToGroup;\n // }\n\n headerGroup.headers.push(headerToGroup)\n })\n\n headerGroups.push(headerGroup)\n\n if (depth > 0) {\n createHeaderGroup(parentHeaders, depth - 1)\n }\n }\n\n const bottomHeaders = columnsToGroup.map(column =>\n instance.createHeader(column, {\n depth: maxDepth,\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","createRow","row","instance","_getAllVisibleCells","memo","getAllCells","filter","cell","column","getIsVisible","map","d","id","join","_","key","debug","options","debugAll","debugRows","getVisibleCells","getLeftVisibleCells","getCenterVisibleCells","getRightVisibleCells","left","center","right","getState","columnPinning","allCells","leftAndRight","includes","columnId","cells","find","Boolean","getInstance","createHeader","header","isPlaceholder","placeholderId","depth","subHeaders","colSpan","rowSpan","getWidth","sum","recurse","length","forEach","getLeafHeaders","leafHeaders","recurseHeader","h","push","getHeaderProps","userProps","getFooterProps","renderHeader","render","renderFooter","footer","Object","assign","ColumnSizing","getHeaderGroups","getAllColumns","getVisibleLeafColumns","allColumns","leafColumns","leftColumns","rightColumns","centerColumns","headerGroups","buildHeaderGroups","debugHeaders","getCenterHeaderGroups","getLeftHeaderGroups","getRightHeaderGroups","getFooterGroups","reverse","getLeftFooterGroups","getCenterFooterGroups","getRightFooterGroups","getFlatHeaders","headerGroup","headers","flat","getLeftFlatHeaders","getCenterFlatHeaders","getRightFlatHeaders","getCenterLeafHeaders","flatHeaders","getLeftLeafHeaders","getRightLeafHeaders","getHeader","process","env","NODE_ENV","console","warn","Error","getHeaderGroupProps","propGetter","role","getFooterGroupProps","initialProps","getTotalWidth","width","columnsToGroup","headerFamily","maxDepth","findMaxDepth","columns","Math","max","createHeaderGroup","headersToGroup","getterValue","parentHeaders","headerToGroup","latestParentHeader","isLeafHeader","parent","undefined","bottomHeaders","recurseHeadersForSpans","filteredHeaders","childRowSpans","childColSpan","childRowSpan","minChildRowSpan","min"],"mappings":"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"}
|