{"version":3,"sources":["jsdelivr-header.js","/npm/ignite-table@1.1.7/src/Store.ts","/npm/ignite-table@1.1.7/src/Table/style.ts","/npm/ignite-table@1.1.7/src/Table/TableSection/RowElement/actionTypes.ts","/npm/ignite-table@1.1.7/src/Table/TableSection/RowElement/reducers.ts","/npm/ignite-table@1.1.7/src/Table/TableSection/RowElement/index.tsx","/npm/ignite-table@1.1.7/src/Table/TableSection/index.tsx","/npm/ignite-table@1.1.7/src/Table/index.tsx","/npm/ignite-table@1.1.7/src/index.tsx"],"names":[],"mappings":"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","file":"/npm/ignite-table@1.1.7/dist/index.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.39.0.\n * Original file: /npm/ignite-table@1.1.7/dist/index.js\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","import { combineReducers, applyMiddleware, compose, createStore, AnyAction } from \"redux\";\nimport thunkMiddleware from \"redux-thunk\";\n\nexport interface StoreState {\n    hoverIndexes?: any;\n    tableDims?: any;\n    fixedTableDims?: any;\n}\n\nexport interface ExtraDispatchArguments {}\n\nexport function createReducer(initialState: any, handlers: any) {\n    return function reducer(state = initialState, action: AnyAction) {\n        if (handlers.hasOwnProperty(action.type)) return handlers[action.type](state, action);\n        else return state;\n    };\n}\n\n/**\n *\n * Simplifies the process of dispatching an action\n *\n * @param type: The type to be dispatched\n * @param data: The data to be dispatched\n * @return object:\n *\n */\n\nexport function setState(type: any, { data }: any) {\n    return {\n        type: type,\n        data,\n    };\n}\n\nfunction configureStore(initialState: any) {\n    const enhancer = compose(applyMiddleware(thunkMiddleware));\n\n    return createStore(\n        makeRootReducer({\n            empty: createReducer(null, {\n                [\"EMPTY\"](_: string, action: string) {\n                    return action;\n                },\n            }),\n        }),\n        initialState,\n        enhancer\n    );\n}\n\nexport const makeRootReducer = (asyncReducers: any) => {\n    return combineReducers(Object.assign({}, asyncReducers));\n};\n\nexport const injectReducer = (store: any, { key, reducer }: { key: string; reducer: any }) => {\n    if (!store || Object.hasOwnProperty.call(store.asyncReducers, key)) return;\n\n    store.asyncReducers[key] = reducer;\n    store.replaceReducer(makeRootReducer(store.asyncReducers));\n};\n\nconst Store: any = configureStore({});\nStore.asyncReducers = {};\n\nexport default Store;\n","/* @flow */\nimport styled, { css } from \"styled-components\";\nimport { Row } from \"ignite-components\";\nimport { darken } from \"polished\";\n\nconst colors = {\n    border: \"#c7c7c7\",\n    borderSelected: \"#7bc2c7\",\n    headerBackground: \"#eaeaea\",\n    hover: \"#f3f3f3\",\n    fixed: \"#f5f5f5\",\n};\n\nlet headerHeight: number = 80;\nlet cellHeight: number = 25;\n\nlet progressPadding: number = 0.8;\nlet contentSpace: number = 2;\n\ninterface TableContainerProps {\n    height: string;\n}\n\nexport const TableContainer = styled.div<TableContainerProps>`\n    border-collapse: collapse;\n\n    height: ${props => props.height};\n`;\n\nexport const TableHeader = styled(Row)`\n    height: ${headerHeight}px;\n    align-items: center;\n`;\n\ninterface TableBodyContainerProps {\n    leftPadding?: number;\n}\n\nexport const TableBodyContainer = styled.div<TableBodyContainerProps>`\n    width: 100%;\n    height: calc(100% - ${cellHeight + headerHeight}px);\n    border-collapse: collapse;\n    position: relative;\n    padding-left: ${props => (props.leftPadding ? props.leftPadding : 0)}px;\n    border-bottom: 1px solid ${colors.border};\n    border-right: 1px solid ${colors.border};\n    border-left: 1px solid ${colors.border};\n`;\n\nexport const FixedColumnContainer = styled.div`\n    position: absolute;\n    top: 0;\n    left: 0;\n    height: 100%;\n    overflow: scroll;\n    border-collapse: collapse;\n    padding-bottom: 10px;\n    &::-webkit-scrollbar {\n        display: none;\n    }\n`;\n\nexport const ColumnContainer = styled.div`\n    width: 100%;\n    height: 100%;\n    overflow: scroll;\n    border-collapse: collapse;\n\n    /* width */\n    &::-webkit-scrollbar {\n        width: 10px;\n        height: 10px;\n    }\n\n    /* Track */\n    &::-webkit-scrollbar-track {\n        background: #f1f1f1;\n    }\n\n    /* Handle */\n    &::-webkit-scrollbar-thumb {\n        background: #888;\n        border-radius: 1337px;\n    }\n\n    /* Handle on hover */\n    &::-webkit-scrollbar-thumb:hover {\n        background: #555;\n    }\n`;\n\ninterface TableHeaderContainerProps {\n    leftPadding?: number;\n}\n\nexport const TableHeaderContainer = styled.div<TableHeaderContainerProps>`\n    width: 100%;\n    position: relative;\n    padding-right: 10px;\n    background: ${colors.headerBackground};\n    padding-left: ${props => (props.leftPadding ? props.leftPadding : 0)}px;\n    border-collapse: collapse;\n    border-top: 1px solid ${colors.border};\n    border-right: 1px solid ${colors.border};\n    border-left: 1px solid ${colors.border};\n`;\n\nexport const FixedHeaderContainer = styled.div`\n    position: absolute;\n    top: 0;\n    left: 0;\n    border-collapse: collapse;\n`;\n\nexport const HeadContainer = styled.div`\n    width: 100%;\n    overflow: scroll;\n    border-collapse: collapse;\n    &::-webkit-scrollbar {\n        display: none;\n    }\n`;\n\ninterface StyledTableProps {\n    height?: number;\n}\n\nexport const StyledTable = styled.table<StyledTableProps>`\n    border-spacing: 0;\n    border-collapse: collapse;\n    width: 100%;\n    max-width: 100%;\n    height: ${props => (props.height ? props.height : \"auto\")};\n    overflow: scroll;\n\n    background: #fff;\n    color: #333;\n`;\n\nexport const StyledHeader = styled.thead`\n    position: relative;\n    z-index: 9999;\n    will-change: top;\n    border-collapse: collapse;\n`;\n\nexport const StyledTableContent = styled.tbody`\n    position: relative;\n    border-collapse: collapse;\n`;\n\nexport const Tr = styled.tr`\n    border-collapse: collapse;\n    border-bottom: 1px solid ${colors.border};\n`;\n\ninterface TdProps {\n    progress?: boolean;\n    value?: number;\n    fixed?: boolean;\n    hover?: boolean;\n    width?: number;\n    height?: number;\n    percent?: number;\n    progressColor?: string;\n}\n\nexport const Td = styled.td<TdProps>`\n    padding: ${props => (props.progress ? 0 : \"0 5px\")};\n    overflow: hidden;\n    text-overflow: ellipsis;\n    border-collapse: collapse;\n    background: ${props => {\n        if (props.fixed) {\n            return props.hover ? darken(0.05, colors.fixed) : colors.fixed;\n        }\n\n        return \"#fff\";\n    }};\n    border-right: 1px solid ${colors.border};\n\n    min-width: ${props => (props.width ? props.width : 200)}px;\n    max-width: 400px;\n    height: ${props => (props.height ? props.height : 25)}px;\n\n    ${props =>\n        props.progress != null\n            ? css`\n          position: relative;\n          \n          &:before {\n            content: '';\n            height: 10px;\n            width: ${() => {\n                if (props.percent && props.percent < 0) {\n                    return 0;\n                }\n\n                if (props.percent && props.percent > 100) {\n                    return 100 * progressPadding;\n                }\n\n                return props.percent ? props.percent * progressPadding : 0;\n            }}%;\n            display: block;\n            background: ${props.progressColor ? props.progressColor : \"#6b77ee\"};\n            color: ${props.percent && props.percent > 20 ? \"#fff\" : \"inherit\"};\n          }\n          \n          &:after {\n            content: '${props.value}';\n            display: inline-block;\n            position: absolute;\n            top: 50%;\n            margin: -7px auto;\n            \n            left: ${() => {\n                if (props.percent && props.percent < 0) {\n                    return contentSpace;\n                }\n\n                if (props.percent && props.percent > 100) {\n                    return 100 * progressPadding + contentSpace;\n                }\n\n                return props.percent ? props.percent * progressPadding + contentSpace : contentSpace;\n            }}%;\n          }\n        `\n            : null}\n\n    &:hover {\n        background: ${props => darken(0.05, props.fixed ? colors.fixed : \"#fff\")};\n    }\n`;\n\nexport const Th = styled(Td.withComponent(\"th\"))`\n    background: ${props => (props.hover ? darken(0.05, colors.headerBackground) : colors.headerBackground)};\n\n    &:hover {\n        background: ${darken(0.05, colors.headerBackground)};\n    }\n`;\n","export const SET_HOVER = \"SET_HOVER\";\nexport const SET_DIMS = \"SET_DIMS\";\nexport const SET_FIXED_DIMS = \"SET_FIXED_DIMS\";\n\nexport interface HoverElement {\n    row: number;\n    col: number;\n}\n\nexport interface DimElement {\n    width: number[];\n    height: number[];\n}\n\nexport interface DimActionElement {\n    rowIndex: number;\n    el: HTMLTableRowElement;\n    width: Array<number>;\n}\n\nexport interface SetHoverAction {\n    type: typeof SET_HOVER;\n    data: HoverElement;\n}\n\nexport interface SetDimsAction {\n    type: typeof SET_DIMS | typeof SET_FIXED_DIMS;\n    data: DimActionElement;\n}\n","import { createReducer } from \"Store\";\nimport update from \"immutability-helper\";\n\nimport {\n    SET_HOVER,\n    SET_DIMS,\n    SET_FIXED_DIMS,\n    HoverElement,\n    SetDimsAction,\n    DimElement,\n    DimActionElement,\n} from \"./actionTypes\";\n\n// Async Reducer\nexport const hoverIndexes = createReducer(\n    { row: -1, col: -1 },\n    {\n        [SET_HOVER](_: HoverElement, action: { data: {} }) {\n            return action.data;\n        },\n    }\n);\n\nconst setDims = (state: DimElement, action: { data: DimActionElement }) => {\n    let data = action.data;\n    let elementHeight = data.el.clientHeight + 1;\n\n    state = update(state, {\n        height: (oldHeight: number[]) => {\n            oldHeight[data.rowIndex] = elementHeight;\n            return oldHeight;\n        },\n    });\n\n    if (data.rowIndex === 0) {\n        state = update(state, {\n            width: { $set: data.width },\n        });\n    }\n\n    return state;\n};\n\n// Async Reducer\nexport const tableDims = createReducer(\n    { height: [], width: [] },\n    {\n        [SET_DIMS](state: DimElement, action: SetDimsAction) {\n            return setDims(state, action);\n        },\n    }\n);\n\nexport const fixedTableDims = createReducer(\n    { height: [], width: [] },\n    {\n        [SET_FIXED_DIMS](state: DimElement, action: SetDimsAction) {\n            return setDims(state, action);\n        },\n    }\n);\n","import React, { useEffect, useRef } from \"react\";\nimport { Row } from \"ignite-components\";\nimport { TableRow } from \"Table/interfaces\";\nimport { Td, Tr, Th } from \"Table/style\";\nimport { connect } from \"react-redux\";\n\nimport Store, { injectReducer, setState, StoreState } from \"Store\";\n\nimport { hoverIndexes, tableDims, fixedTableDims } from \"./reducers\";\nimport { SET_HOVER, SET_DIMS, SET_FIXED_DIMS, SetHoverAction, SetDimsAction } from \"./actionTypes\";\n\ninterface OwnProps {\n    row: TableRow;\n    fixed?: boolean;\n    rowIndex: number;\n    height?: number;\n    columnWidths?: number[];\n    header?: boolean;\n}\n\nconst mapStateToProps = (state: StoreState, ownProps: OwnProps) => ({\n    shouldHover: state.hoverIndexes.row === ownProps.rowIndex,\n});\n\nconst mapDispatchToProps = (dispatch: (dispatch: SetHoverAction | SetDimsAction) => void) => ({\n    onHover: (row: number, col: number) => {\n        dispatch(setState(SET_HOVER, { data: { row, col } }));\n    },\n    onMount: (rowIndex: number, fixed: boolean | undefined, el: HTMLTableRowElement, width: Array<number>) => {\n        if (fixed) {\n            dispatch(setState(SET_FIXED_DIMS, { data: { rowIndex, el, width } }));\n        } else {\n            dispatch(setState(SET_DIMS, { data: { rowIndex, el, width } }));\n        }\n    },\n});\n\ntype Props = OwnProps & ReturnType<typeof mapStateToProps> & ReturnType<typeof mapDispatchToProps>;\n\nconst RowElement: React.FC<Props> = ({\n    row,\n    shouldHover,\n    rowIndex,\n    onMount,\n    fixed,\n    onHover,\n    height,\n    header,\n    columnWidths,\n}) => {\n    const el = useRef<HTMLTableRowElement>(null);\n    const elementWidths: number[] = [];\n\n    useEffect(() => {\n        el.current && onMount(rowIndex, fixed, el.current, elementWidths);\n    }, [el]);\n\n    const onMouseOver = (event: React.SyntheticEvent<HTMLTableCellElement>) => {\n        const i = Array(...(event.target as any).parentElement.children).indexOf(event.target);\n        onHover(rowIndex, i);\n    };\n\n    const Cell = header ? Th : Td;\n\n    return (\n        <Tr ref={el} style={{ width: \"100%\" }}>\n            {row.cells.map((cell, i) => (\n                <Cell\n                    ref={(el: HTMLTableCellElement | null) => {\n                        if (rowIndex === 0 && el) {\n                            elementWidths[i] = el.clientWidth + (i !== 0 ? 1 : 0);\n                        }\n                    }}\n                    width={columnWidths && columnWidths[i]}\n                    height={height}\n                    fixed={fixed}\n                    hover={shouldHover}\n                    onMouseOver={onMouseOver}\n                    key={i}\n                    progress={cell.progress}\n                    progressColor={cell.progressColor}\n                    value={cell.value}\n                    percent={cell.percent}\n                >\n                    <Row align={cell.align || \"start\"}>{cell.progress ? \"\" : cell.value}</Row>\n                </Cell>\n            ))}\n        </Tr>\n    );\n};\n\n// Inject the async reducer to the store\ninjectReducer(Store, { key: \"hoverIndexes\", reducer: hoverIndexes });\ninjectReducer(Store, { key: \"tableDims\", reducer: tableDims });\ninjectReducer(Store, { key: \"fixedTableDims\", reducer: fixedTableDims });\n\nconst MemoizedRowElement = React.memo(connect(mapStateToProps, mapDispatchToProps)(RowElement));\n\nexport default MemoizedRowElement;\n","import React from \"react\";\nimport { TableRow } from \"Table/interfaces\";\nimport { StyledTable, StyledTableContent } from \"../style\";\nimport RowElement from \"./RowElement\";\n\ninterface Props {\n    data: any;\n    fixed?: boolean;\n    rowHeights?: number[];\n    columnWidths?: number[];\n}\n\nconst TableSection: React.FC<Props> = ({ data, rowHeights, fixed, columnWidths }) => (\n    <StyledTable cellSpacing=\"0\">\n        <StyledTableContent>\n            {data.map((row: TableRow, i: number) => (\n                <RowElement\n                    key={i}\n                    height={rowHeights ? rowHeights[i + 1] : undefined}\n                    fixed={fixed}\n                    rowIndex={i + 1}\n                    row={row}\n                    columnWidths={columnWidths}\n                />\n            ))}\n        </StyledTableContent>\n    </StyledTable>\n);\n\nconst MemoizedComponent = React.memo(TableSection);\nexport default MemoizedComponent;\n","import React, { useRef, useMemo } from \"react\";\nimport { connect } from \"react-redux\";\nimport { setState, StoreState } from \"Store\";\nimport { ColumnConfig } from \"Table/interfaces\";\nimport {\n    ColumnContainer,\n    FixedColumnContainer,\n    FixedHeaderContainer,\n    HeadContainer,\n    StyledHeader,\n    StyledTable,\n    TableBodyContainer,\n    TableContainer,\n    TableHeaderContainer,\n} from \"./style\";\nimport TableSection from \"./TableSection\";\nimport RowElement from \"./TableSection/RowElement\";\nimport { SetDimsAction, SetHoverAction, SET_HOVER } from \"./TableSection/RowElement/actionTypes\";\nimport { TableRow } from \"./interfaces\";\n\ninterface Dimension {\n    width: number[];\n    height: number[];\n}\n\nexport interface TableProps {\n    columnConfig: ColumnConfig;\n    height: string;\n    header?: TableRow;\n    rows: TableRow[];\n}\n\nconst mapStateToProps = (state: StoreState) => ({\n    hoverIndexes: state.hoverIndexes,\n    dims: state.tableDims,\n    fixedDims: state.fixedTableDims,\n});\n\nconst mapDispatchToProps = (dispatch: (dispatch: SetHoverAction | SetDimsAction) => void) => ({\n    onHover: (row: number, col: number) => {\n        dispatch(setState(SET_HOVER, { data: { row, col } }));\n    },\n});\n\ntype Props = TableProps & ReturnType<typeof mapStateToProps> & ReturnType<typeof mapDispatchToProps>;\n\nconst TableComponent: React.FC<Props> = ({\n    header,\n    rows = [],\n    columnConfig = { numFixed: 0, size: 200 },\n    fixedDims = { height: [], width: [] },\n    dims = { height: [], width: [] },\n    height = \"500px\",\n    onHover,\n}) => {\n    let scrolling = false;\n    const headerRef = useRef<HTMLDivElement>(null);\n    const contentRef = useRef<HTMLDivElement>(null);\n    const contentFixedRef = useRef<HTMLDivElement>(null);\n\n    const handleScroll = (target: HTMLDivElement, type: string) => {\n        if (!scrolling) {\n            window.requestAnimationFrame(() => {\n                doScroll(target, type);\n                scrolling = false;\n            });\n            scrolling = true;\n        }\n    };\n\n    const doScroll = (target: HTMLDivElement, type: string) => {\n        switch (type) {\n            case \"content\":\n                if (headerRef.current && contentFixedRef.current) {\n                    headerRef.current.scrollLeft = target.scrollLeft;\n                    contentFixedRef.current.scrollTop = target.scrollTop;\n                }\n                break;\n            case \"fixedContent\":\n                if (contentRef.current) {\n                    contentRef.current.scrollTop = target.scrollTop;\n                }\n                break;\n            case \"header\":\n                if (contentRef.current) {\n                    contentRef.current.scrollLeft = target.scrollLeft;\n                }\n                break;\n        }\n    };\n\n    const splitRows = (header: TableRow | undefined, rows: TableRow[]) => {\n        let headerCopy: TableRow = { cells: Array().concat(header?.cells || []) };\n        let rowsCopy: TableRow[] = Array().concat(\n            rows.map(row => {\n                return { height: row.height, cells: Array().concat(row.cells) };\n            })\n        );\n\n        let fixedHeader: TableRow = {\n            cells: headerCopy.cells.splice(0, columnConfig.numFixed),\n        };\n\n        let fixedRows: TableRow[] = rowsCopy.map((row: TableRow) => {\n            return {\n                height: row.height,\n                cells: row.cells.splice(0, columnConfig.numFixed),\n            };\n        });\n\n        return {\n            header: headerCopy,\n            fixedHeader: fixedHeader,\n            rows: rowsCopy,\n            fixedRows: fixedRows,\n        };\n    };\n\n    const getDimensions = (): Dimension | undefined => {\n        if ((fixedDims.width.length && fixedDims.height.length) || columnConfig.numFixed === 0) {\n            return {\n                width: fixedDims.width.concat(dims.width),\n                height: fixedDims.height.map((height: number, i: number) => Math.max(height, dims.height[i])),\n            };\n        }\n        return undefined;\n    };\n\n    let data = useMemo(() => splitRows(header, rows), [header, rows]);\n    let dimensions = useMemo(getDimensions, [fixedDims, dims]);\n    let leftPadding: number = new Array(columnConfig.numFixed).fill(1).reduce((sum: number, _: number, i: number) => {\n        return sum + (dimensions?.width[i] ?? 0);\n    }, 0);\n\n    return (\n        <TableContainer height={height}>\n            <TableHeaderContainer leftPadding={leftPadding} onMouseOver={() => onHover(-1, -1)}>\n                <FixedHeaderContainer>\n                    {/* Table Header */}\n                    <StyledTable>\n                        <StyledHeader>\n                            <RowElement\n                                header\n                                fixed\n                                row={data.fixedHeader as TableRow}\n                                height={dimensions?.height[0]}\n                                columnWidths={dimensions?.width}\n                                rowIndex={0}\n                            />\n                        </StyledHeader>\n                    </StyledTable>\n                </FixedHeaderContainer>\n                <HeadContainer onScroll={e => handleScroll(e.target as HTMLDivElement, \"header\")} ref={headerRef}>\n                    <StyledTable>\n                        {/* Table Header */}\n                        <StyledHeader>\n                            <RowElement\n                                header\n                                row={data.header as TableRow}\n                                height={dimensions?.height[0]}\n                                columnWidths={dimensions?.width}\n                                rowIndex={0}\n                            />\n                        </StyledHeader>\n                    </StyledTable>\n                </HeadContainer>\n            </TableHeaderContainer>\n\n            <TableBodyContainer leftPadding={leftPadding}>\n                <FixedColumnContainer\n                    onMouseOver={() => onHover(-1, -1)}\n                    onScroll={e => handleScroll(e.target as HTMLDivElement, \"fixedContent\")}\n                    ref={contentFixedRef}\n                >\n                    <TableSection\n                        data={data.fixedRows}\n                        fixed={true}\n                        rowHeights={dimensions?.height}\n                        columnWidths={dimensions?.width}\n                    />\n                </FixedColumnContainer>\n                <ColumnContainer ref={contentRef} onScroll={e => handleScroll(e.target as HTMLDivElement, \"content\")}>\n                    <TableSection data={data.rows} rowHeights={dimensions?.height} columnWidths={dimensions?.width} />\n                </ColumnContainer>\n            </TableBodyContainer>\n        </TableContainer>\n    );\n};\n\nexport default connect(mapStateToProps, mapDispatchToProps)(TableComponent);\n","import * as React from \"react\";\nimport { Provider } from \"react-redux\";\nimport Store from \"Store\";\nimport TableComponent, { TableProps } from \"./Table\";\n\nexport { ColumnConfig, TableCell, TableRow } from \"./Table/interfaces\";\n\nexport const Table = (props: TableProps) => {\n    return (\n        <Provider store={Store}>\n            <TableComponent {...props} />\n        </Provider>\n    );\n};\n"]}