@propellerads/table 5.0.4 → 5.1.1
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/dist/index.d.ts +5 -4
- package/dist/propsGetter.d.ts +1 -1
- package/dist/table.cjs.development.js +213 -143
- package/dist/table.cjs.development.js.map +1 -1
- package/dist/table.cjs.production.min.js +1 -1
- package/dist/table.cjs.production.min.js.map +1 -1
- package/dist/table.esm.js +213 -143
- package/dist/table.esm.js.map +1 -1
- package/package.json +3 -3
- package/src/index.tsx +152 -128
- package/src/propsGetter.tsx +5 -7
- package/src/useTableShadow.tsx +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"table.cjs.production.min.js","sources":["../src/types.tsx","../src/useTableShadow.tsx","../src/propsGetter.tsx","../src/style.tsx","../src/index.tsx","../src/useLoadingState.tsx"],"sourcesContent":["import React, {FunctionComponent, ReactElement, ReactNode} from 'react';\nimport {\n Cell,\n CellPropGetter,\n Column,\n FooterGroupPropGetter,\n FooterPropGetter,\n HeaderGroup,\n HeaderGroupPropGetter,\n Hooks,\n Meta,\n Row,\n RowPropGetter,\n TableBodyPropGetter,\n TablePropGetter,\n TableState,\n UsePaginationInstanceProps,\n UsePaginationOptions,\n UsePaginationState,\n UseRowSelectInstanceProps,\n UseRowSelectState,\n UseSortByColumnProps,\n UseRowSelectRowProps,\n UseSortByInstanceProps,\n UseSortByOptions,\n UseTableOptions,\n HeaderPropGetter,\n} from 'react-table';\n\nexport type DefaultObject = Record<string, string | number | unknown>;\n\nexport type LoadingState = {\n loadingColumns?: Column[];\n loadingData: any[];\n};\n\nexport enum FOOTER_PLACEMENT {\n TOP = 'top',\n BOTTOM = 'bottom',\n}\n\nexport type PaginationProps = {\n paginationAmount?: string | ReactNode | ReactElement;\n parentElementId: string;\n labelPerPage?: string;\n pageSizes?: Array<string | number>;\n pageIndex: number;\n perPage: number;\n totalPages: number;\n totalItems: number;\n canNextPage: boolean;\n canPreviousPage: boolean;\n nextPageHandler: () => void;\n previousPageHandler: () => void;\n setPageSize: (size: number) => void;\n gotoPage: (page: number) => void;\n};\n\nexport type ControlledPagination = {\n paginationAmount?: string | ReactNode | ReactElement;\n pageSize: number;\n pageIndex: number;\n pageCount: number;\n};\n\nexport type TableProps = {\n columns: Array<Column<DefaultObject>>;\n data: [];\n totalItems?: number;\n PaginationComponent: React.FunctionComponent<PaginationProps>;\n initialState: Partial<TableState<DefaultObject>>;\n fetchData?: (params: {pageIndex: number; pageSize: number}) => void;\n onSortedChange?: (id: string, isDesc: boolean) => void;\n isLoading?: boolean;\n footerPlacement?: Array<FOOTER_PLACEMENT>;\n hasDefaultPagination?: boolean;\n onSelectRowsChange?: (rows: Array<DefaultObject>) => void;\n controlledPagination?: ControlledPagination;\n loadingMessage?: string;\n labelPerPage?: string;\n parentElementId?: string;\n tableContentId?: string;\n getRowPreProps?: (row: Row) => DefaultObject;\n getTableProps?: TableGetter;\n getHeaderGroupProps?: ElementGetter;\n getHeaderProps?: ElementGetter;\n getRowProps?: ElementGetter;\n getCellProps?: ElementGetter;\n getFooterProps?: ElementGetter;\n getFooterGroupProps?: ElementGetter;\n showLoadingState?: boolean;\n LoadingCellComponent?: FunctionComponent<DefaultObject>;\n noDataMessage?: string | ReactElement;\n rowSubComponent?: (row: StandardRow) => ReactElement;\n isEnableRowSelect?: (original: DefaultObject) => boolean;\n};\n\nexport type TableOptions = {\n columns: Array<Column<DefaultObject>>;\n data: Array<DefaultObject>;\n initialState: {\n pageIndex?: number;\n pageSize?: number;\n };\n disableSortRemove: boolean;\n disableMultiSort: boolean;\n disableMultiRemove: boolean;\n manualSortBy?: boolean;\n autoResetPage?: boolean;\n manualPagination?: boolean;\n pageCount?: number;\n};\n\nexport type MetaProps = {\n column?: HeaderGroup<DefaultObject>;\n cell?: Cell;\n};\n\nexport type BaseMeta = Meta<DefaultObject, MetaProps>;\n\nexport type TableGetter = (props: DefaultObject) => DefaultObject;\n\nexport type ElementGetter = (props: DefaultObject, meta: BaseMeta) => DefaultObject;\n\nexport type ElementCellPropGetter = CellPropGetter<DefaultObject>;\n\nexport type ElementRowPropGetter = RowPropGetter<DefaultObject>;\n\nexport type ElementHeaderFooterPropGetter =\n | FooterGroupPropGetter<DefaultObject>\n | HeaderGroupPropGetter<DefaultObject>\n | FooterPropGetter<DefaultObject>;\n\nexport type GetTableContainerPropsGetter = (\n userGetter?: TableGetter,\n getter?: TableGetter,\n) => TablePropGetter<DefaultObject> | TableBodyPropGetter<DefaultObject>;\n\nexport type GetTableElementPropsGetter<T> = (userGetter?: ElementGetter, getter?: ElementGetter) => T;\n\nexport type GetTableElementInternalPropsGetter = (\n internalProps: DefaultObject,\n userGetter?: ElementGetter,\n getter?: ElementGetter,\n) => HeaderPropGetter<DefaultObject>;\n\nexport type ColumnWithSort = HeaderGroup<DefaultObject> & Partial<UseSortByColumnProps<DefaultObject>>;\n\nexport type StandardColumn = Column<DefaultObject>;\n\nexport type StandardRow = Row<DefaultObject> & {isExpanded?: boolean};\n\nexport type SelectableRow = Row<{id: string}> & UseRowSelectRowProps<DefaultObject>;\n\nexport type StandardCell = Cell<DefaultObject>;\n\nexport type SelectableRowInstanceProps = UseRowSelectInstanceProps<DefaultObject>;\n\nexport type StandardHooks = Hooks<DefaultObject>;\n\nexport type TableHooksInstanceProps = UseSortByInstanceProps<DefaultObject> &\n UsePaginationInstanceProps<DefaultObject> &\n UseRowSelectInstanceProps<DefaultObject> & {\n state: UseRowSelectState<DefaultObject> & UsePaginationState<DefaultObject>;\n };\n\nexport type TableOptionsProps = UseTableOptions<DefaultObject> &\n UseSortByOptions<DefaultObject> &\n UsePaginationOptions<DefaultObject> & {\n initialState: Partial<TableState<DefaultObject>> & Partial<UsePaginationState<DefaultObject>>;\n };\n\nexport class Table extends React.Component<Partial<TableProps>> {}\n","// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-nocheck\nimport {useEffect} from 'react';\n\nconst TABLE_SHADOW_CLASS_NAME = {\n LEFT: 'shadow_left',\n RIGHT: 'shadow_right',\n};\n\nfunction changeClassName(tableWrapperNode: Element, newClassNameList: string[]) {\n const {classList} = tableWrapperNode;\n\n classList.remove(TABLE_SHADOW_CLASS_NAME.LEFT, TABLE_SHADOW_CLASS_NAME.RIGHT);\n classList.add(...newClassNameList);\n}\n\nfunction calculateNewClassNames(tableNode, tableWrapperNode) {\n if (!tableNode || !tableWrapperNode) {\n return;\n }\n\n const tableRect = tableNode.getBoundingClientRect();\n const tableWrapperRect = tableWrapperNode.getBoundingClientRect();\n const newClassName = [];\n\n const tableRectLeft = Math.floor(tableRect.left);\n const tableRectRight = Math.floor(tableRect.right);\n const tableWrapperRectLeft = Math.floor(tableWrapperRect.left);\n const tableWrapperRectRight = Math.floor(tableWrapperRect.right);\n\n if (tableRectLeft < tableWrapperRectLeft) {\n newClassName.push(TABLE_SHADOW_CLASS_NAME.LEFT);\n }\n\n if (tableRectRight > tableWrapperRectRight) {\n newClassName.push(TABLE_SHADOW_CLASS_NAME.RIGHT);\n }\n\n changeClassName(tableWrapperNode, newClassName);\n}\n\nexport default (tableRef, tableWrapperRef) => {\n useEffect(() => {\n let ticking = false;\n\n function onMousewheel() {\n if (ticking) {\n return;\n }\n\n window.requestAnimationFrame(() => {\n calculateNewClassNames(tableRef.current, tableWrapperRef.current);\n ticking = false;\n });\n\n ticking = true;\n }\n\n calculateNewClassNames(tableRef.current, tableWrapperRef.current);\n\n tableRef?.current?.addEventListener('mousewheel', onMousewheel);\n window.addEventListener('resize', onMousewheel);\n\n return () => {\n tableRef?.current?.removeEventListener('mousewheel', onMousewheel);\n window.removeEventListener('resize', onMousewheel);\n };\n }, [tableRef.current, tableWrapperRef.current]);\n};\n","import {\n ElementGetter,\n BaseMeta,\n TableGetter,\n ElementCellPropGetter,\n ElementRowPropGetter,\n DefaultObject,\n ElementHeaderFooterPropGetter,\n GetTableElementPropsGetter,\n GetTableContainerPropsGetter,\n GetTableElementInternalPropsGetter,\n} from './types';\n\nexport const defaultGetter: ElementGetter = (props) => props;\n\nexport const cellGetter: ElementGetter = (props, {cell}) => ({\n ...props,\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n align: cell?.column?.align,\n});\nexport const mainCellGetter: ElementGetter = (props, {column}) => ({\n ...props,\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n align: column?.align,\n});\n\nexport const getTableProps: GetTableContainerPropsGetter = (userGetter, getter = defaultGetter as TableGetter) => {\n if (userGetter) {\n return (props) => ({\n ...getter(props),\n ...userGetter(props),\n });\n }\n\n return getter;\n};\n\nexport const getTableElementProps: GetTableElementPropsGetter<ElementHeaderFooterPropGetter> = (\n userGetter,\n getter = defaultGetter,\n) => {\n if (userGetter) {\n return (props, meta) => ({\n ...getter(props, meta),\n ...userGetter(props, meta),\n });\n }\n\n return getter;\n};\n\nexport const getTableRowProps: GetTableElementPropsGetter<ElementRowPropGetter> = (\n userGetter,\n getter = defaultGetter,\n) => {\n if (userGetter) {\n return (props, meta) => ({\n ...getter(props, meta),\n ...userGetter(props, meta),\n });\n }\n\n return getter;\n};\n\nexport const getTableCellProps: GetTableElementPropsGetter<ElementCellPropGetter> = (\n userGetter,\n getter = defaultGetter,\n) => {\n if (userGetter) {\n return (props, meta) => ({\n ...getter(props, meta),\n ...userGetter(props, meta),\n });\n }\n\n return getter;\n};\n\nexport const getTableElementInternalProps: GetTableElementInternalPropsGetter = (\n internalProps,\n userGetter,\n getter = defaultGetter,\n) => {\n if (userGetter) {\n return (props, meta) => ({\n ...getter({...props, ...internalProps}, meta),\n ...userGetter(props, meta),\n });\n }\n\n return (props: DefaultObject, meta: BaseMeta) => getter({...props, ...internalProps}, meta);\n};\n","/* eslint max-len: off */\nimport styled, {keyframes, css, CSSObject} from 'styled-components';\nimport {fontNormal, white, black, spacing, gray80, gray95} from '@propellerads/stylevariables';\n\nconst loadingAnimation = keyframes`\n from {\n background-position-x: 0;\n }\n 50% {\n background-position-x: 100%;\n }\n 100% {\n background-position-x: 0;\n }\n`;\n\nexport const TableLoading = styled.div`\n display: block;\n position: absolute;\n left: 0;\n right: 0;\n top: 0;\n bottom: 0;\n background: rgba(255, 255, 255, 0.8);\n transition: all 0.3s ease;\n z-index: -1;\n opacity: 0;\n pointer-events: none;\n\n ${(props: {isLoading: boolean}) =>\n props.isLoading &&\n css`\n opacity: 1;\n z-index: 2;\n pointer-events: all;\n `}\n`;\n\nexport const TableLoadingInner = styled.div`\n position: absolute;\n display: block;\n text-align: center;\n width: 100%;\n top: 50%;\n left: 0;\n color: rgba(0, 0, 0, 0.6);\n transform: translateY(-52%);\n transition: all 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);\n`;\n\nexport const TableWrapper = styled.div`\n position: relative;\n overflow: hidden;\n\n &::before {\n bottom: 10px;\n content: '';\n opacity: 0;\n pointer-events: none;\n position: absolute;\n width: 10px;\n height: 100%;\n top: 0;\n left: -10px;\n box-shadow: 0 3px 6px 0 rgba(0, 0, 0, 0.2);\n transition: 0.3s opacity;\n }\n\n &::after {\n bottom: 10px;\n content: '';\n opacity: 0;\n pointer-events: none;\n width: 10px;\n height: 100%;\n position: absolute;\n top: 0;\n right: -10px;\n box-shadow: 0 3px 6px 0 rgba(0, 0, 0, 0.2);\n transition: 0.3s opacity;\n }\n\n &.shadow_left {\n &::before {\n opacity: 1 !important;\n }\n }\n\n &.shadow_right {\n &::after {\n opacity: 1 !important;\n }\n }\n`;\n\nexport const TableRoot = styled.div`\n font-size: ${fontNormal}px;\n position: relative;\n display: flex;\n flex-direction: column;\n border: 0;\n`;\n\nexport const TableContent = styled.div`\n display: block;\n max-width: 100%;\n overflow-x: scroll;\n overflow-y: hidden;\n`;\n\nexport const TableCore = styled.div`\n flex: auto 1;\n display: flex;\n flex-direction: column;\n align-items: stretch;\n border-collapse: collapse;\n`;\n\nexport const HeadCell = styled.div`\n display: inline-flex;\n`;\n\nexport const TD = styled.div`\n white-space: nowrap;\n text-overflow: ellipsis;\n line-height: 1.3rem;\n padding: 7px 4px;\n overflow: hidden;\n transition: width 0.3s ease 0s, min-width, padding, opacity;\n\n ${({align}: {align?: CSSObject; colSpan?: number}) =>\n align &&\n css`\n text-align: ${align};\n `}\n`;\n\nexport const EmptyStateCell = styled.div`\n width: 100%;\n height: ${spacing * 4}px;\n background: linear-gradient(to left, ${gray95}, ${white}, ${gray95});\n background-size: 200% 200%;\n animation: ${loadingAnimation} 1.6s linear infinite;\n`;\n\nexport const TH = styled.div`\n padding: 0 4px;\n line-height: normal;\n position: relative;\n transition: box-shadow 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275) 0s;\n color: rgb(0, 0, 0);\n font-weight: 500;\n outline: none;\n`;\n\nexport const THead = styled.div`\n flex: 1 0 auto;\n display: flex;\n flex-direction: column;\n user-select: none;\n\n ${TH}, ${TD} {\n padding: 0 4px;\n line-height: normal;\n position: relative;\n transition: box-shadow 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);\n color: ${black};\n font-weight: 500;\n outline: none;\n }\n`;\n\nexport const TRGroup = styled.div`\n display: flex;\n flex: 1 0 auto;\n box-shadow: inset 0 -1px 0 0 ${gray95};\n min-width: 100%;\n width: max-content;\n`;\n\nexport const TR = styled.div`\n padding: 0;\n -webkit-box-align: center;\n align-items: center;\n`;\n\nexport const TBody = styled.div`\n border-top: 1px solid ${gray80};\n margin-top: ${spacing * 2}px;\n min-width: 100%;\n width: max-content;\n`;\n\nexport const TFoot = styled.div`\n background: ${gray95};\n flex: 1 0 auto;\n display: flex;\n flex-direction: column;\n`;\n\nexport const TResizer = styled.div`\n display: inline-block;\n position: absolute;\n right: 5px;\n top: 0;\n z-index: 1;\n touch-action: none;\n\n &:after {\n content: '↔';\n position: absolute;\n right: 0;\n top: 0;\n }\n`;\n","import React, {FunctionComponent, useEffect, useMemo, useRef} from 'react';\nimport {\n useSortBy,\n useTable,\n useRowSelect,\n usePagination,\n useExpanded,\n useFlexLayout,\n useResizeColumns,\n Column,\n} from 'react-table';\n\nimport {ArrowDown, ArrowUp, Color, Size} from '@propellerads/icon';\nimport Checkbox from '@propellerads/input-checkbox';\n\nimport useLoadingState from './useLoadingState';\nimport useTableShadow from './useTableShadow';\n\nimport {\n FOOTER_PLACEMENT,\n TableProps,\n PaginationProps,\n StandardHooks,\n StandardColumn,\n StandardRow,\n StandardCell,\n ColumnWithSort,\n TableHooksInstanceProps,\n TableOptionsProps,\n SelectableRow,\n DefaultObject,\n} from './types';\n\nimport {\n getTableProps as getTableBodyProps,\n getTableElementProps,\n getTableElementInternalProps,\n cellGetter,\n mainCellGetter,\n getTableCellProps,\n getTableRowProps,\n} from './propsGetter';\n\nimport {\n TableRoot as _TableRoot,\n TableWrapper as _TableWrapper,\n TableContent as _TableContent,\n HeadCell as _HeadCell,\n TableLoading as _TableLoading,\n TableLoadingInner as _TableLoadingInner,\n TD as _TD,\n TableCore as _TableCore,\n THead as _THead,\n TR as _TR,\n TH as _TH,\n TBody as _TBody,\n TRGroup as _TRGroup,\n TFoot as _TFoot,\n EmptyStateCell as _EmptyStateCell,\n TResizer as _TResizer,\n} from './style';\n\nconst TableRoot = _TableRoot as unknown as React.FunctionComponent<DefaultObject>;\nconst TableWrapper = _TableWrapper as unknown as React.FunctionComponent<DefaultObject>;\nconst TableContent = _TableContent as unknown as React.FunctionComponent<DefaultObject>;\nconst HeadCell = _HeadCell as unknown as React.FunctionComponent<DefaultObject>;\nconst TableLoading = _TableLoading as unknown as React.FunctionComponent<DefaultObject>;\nconst TableLoadingInner = _TableLoadingInner as unknown as React.FunctionComponent<DefaultObject>;\nconst TD = _TD as unknown as React.FunctionComponent<DefaultObject>;\nconst TableCore = _TableCore as unknown as React.FunctionComponent<DefaultObject>;\nconst THead = _THead as unknown as React.FunctionComponent<DefaultObject>;\nconst TR = _TR as unknown as React.FunctionComponent<DefaultObject>;\nconst TH = _TH as unknown as React.FunctionComponent<DefaultObject>;\nconst TBody = _TBody as unknown as React.FunctionComponent<DefaultObject>;\nconst TRGroup = _TRGroup as unknown as React.FunctionComponent<DefaultObject>;\nconst TFoot = _TFoot as unknown as React.FunctionComponent<DefaultObject>;\nconst EmptyStateCell = _EmptyStateCell as unknown as React.FunctionComponent<DefaultObject>;\nconst TResizer = _TResizer as unknown as React.FunctionComponent<DefaultObject>;\n\nconst isEnableRowSelectDefault: () => boolean = () => true;\nconst selectColumnPropsDefault = {};\nconst getRowPrePropsDefault: () => DefaultObject = () => ({});\n\nexport const defaultProps = {\n hasDefaultPagination: false,\n isLoading: false,\n footerPlacement: [],\n loadingMessage: 'loading...',\n labelPerPage: 'Show rows',\n parentElementId: 'parent-element',\n tableContentId: '',\n showLoadingState: false,\n initialState: {},\n LoadingCellComponent: EmptyStateCell,\n getRowPreProps: getRowPrePropsDefault,\n isEnableRowSelect: isEnableRowSelectDefault,\n selectColumnProps: selectColumnPropsDefault,\n noDataMessage: '',\n};\n\ntype DefaultProps = Readonly<typeof defaultProps>;\n\nconst disableSortRemove = true;\nconst disableMultiSort = true;\nconst disabledMultiRemove = true;\n\nconst DEFAULT_PAGE_INDEX = 0;\nconst DEFAULT_PAGE_SIZE = 10;\n\nfunction isFunction(reference?: (arg1?: any, arg2?: any) => void) {\n return typeof reference === 'function';\n}\n\nfunction renderResizer(column) {\n if (column.isResizable) {\n return (\n <TResizer\n {...column.getResizerProps()}\n onClick={(e) => {\n e.preventDefault();\n e.stopPropagation();\n }}\n />\n );\n }\n\n return null;\n}\n\nfunction getHeadContent(column: ColumnWithSort) {\n if (column.isSorted && column.isSortedDesc) {\n return (\n <HeadCell>\n {column.render('Header')}\n <ArrowUp size={Size.Small} color={Color.GrayDark} />\n </HeadCell>\n );\n }\n\n if (column.isSorted && !column.isSortedDesc) {\n return (\n <HeadCell>\n {column.render('Header')}\n <ArrowDown size={Size.Small} color={Color.GrayDark} />\n </HeadCell>\n );\n }\n\n return column.render('Header');\n}\n\nconst Table: FunctionComponent<TableProps & DefaultProps> = (props) => {\n const {\n columns,\n data,\n totalItems,\n fetchData,\n controlledPagination,\n initialState,\n isLoading,\n loadingMessage,\n labelPerPage,\n footerPlacement,\n onSortedChange,\n hasDefaultPagination,\n onSelectRowsChange,\n parentElementId,\n tableContentId,\n LoadingCellComponent,\n PaginationComponent,\n getRowPreProps,\n getTableProps,\n getHeaderGroupProps,\n getHeaderProps,\n getRowProps,\n getCellProps,\n getFooterProps,\n getFooterGroupProps,\n showLoadingState,\n noDataMessage,\n rowSubComponent,\n isEnableRowSelect,\n selectColumnProps,\n } = props;\n\n const memoColumns = useMemo(() => columns, [columns]);\n\n const {loadingColumns, loadingData} = useLoadingState(\n showLoadingState,\n isLoading,\n controlledPagination?.pageSize ?? DEFAULT_PAGE_SIZE,\n memoColumns,\n LoadingCellComponent,\n );\n\n const showLoading = showLoadingState && isLoading;\n const hasSelectedRowsAbility = onSelectRowsChange && isFunction(onSelectRowsChange);\n const hasManualSortBy = onSortedChange && isFunction(onSortedChange);\n const hasControlledPagination = fetchData && controlledPagination && Object.keys(controlledPagination).length > 0;\n\n const options: TableOptionsProps = {\n columns: showLoading ? (loadingColumns as Column<DefaultObject>[]) : memoColumns,\n data: showLoading ? loadingData : data,\n initialState,\n disableSortRemove,\n disableMultiSort,\n disabledMultiRemove,\n };\n\n if (hasManualSortBy) {\n options.manualSortBy = true;\n }\n\n if (hasControlledPagination) {\n if (typeof controlledPagination?.pageCount === 'undefined') {\n throw new Error('You have to pass pageCount in controlledPagination data');\n }\n\n options.initialState = {\n ...options.initialState,\n pageIndex: controlledPagination.pageIndex ?? DEFAULT_PAGE_INDEX,\n pageSize: controlledPagination.pageSize ?? DEFAULT_PAGE_SIZE,\n };\n\n options.autoResetPage = true;\n options.manualPagination = true;\n options.pageCount = controlledPagination.pageCount;\n }\n\n const useSelect = (hooks: StandardHooks) => {\n if (!hasSelectedRowsAbility) {\n return;\n }\n\n const newColumn = {\n id: 'selection',\n disableSortBy: true,\n Header: (instance: TableHooksInstanceProps & {toggleAllPageRowsSelected: () => void}) => {\n const {getToggleAllPageRowsSelectedProps, toggleAllPageRowsSelected, page} = instance;\n\n const isDisabledAllRows = page.map(({original}) => original).filter(isEnableRowSelect).length === 0;\n\n return (\n <Checkbox\n elementId=\"all\"\n onChange={toggleAllPageRowsSelected}\n isChecked={getToggleAllPageRowsSelectedProps().checked}\n isDisabled={isDisabledAllRows}\n />\n );\n },\n Cell: ({row}: {row: SelectableRow}) => {\n const {id, original, toggleRowSelected, getToggleRowSelectedProps} = row;\n\n const elementId = Number.isInteger(original.id) ? original.id : id;\n const isEnabled = isEnableRowSelect(row.original);\n\n return (\n <Checkbox\n elementId={elementId}\n onChange={toggleRowSelected}\n isDisabled={!isEnabled}\n isChecked={isEnabled && getToggleRowSelectedProps().checked}\n />\n );\n },\n ...selectColumnProps,\n };\n\n // @ts-ignore\n hooks.visibleColumns.push((tableColumns: Array<StandardColumn>) => [newColumn, ...tableColumns]);\n };\n\n const {\n getTableProps: _getTableProps,\n headerGroups,\n footerGroups,\n setHiddenColumns,\n rows,\n prepareRow,\n visibleColumns,\n ...rest\n } = useTable(\n options,\n useFlexLayout,\n useSortBy,\n useExpanded,\n usePagination,\n useRowSelect,\n useSelect,\n useResizeColumns,\n );\n\n const {\n selectedFlatRows,\n setSortBy,\n page,\n canPreviousPage,\n canNextPage,\n pageCount,\n gotoPage,\n nextPage,\n previousPage,\n setPageSize,\n state: {selectedRowIds, pageIndex, pageSize},\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n } = rest as TableHooksInstanceProps;\n\n const tableRef = useRef(null);\n const tableWrapperRef = useRef(null);\n\n useTableShadow(tableRef, tableWrapperRef);\n\n useEffect(() => {\n if (!initialState?.hiddenColumns) {\n return;\n }\n\n setHiddenColumns(initialState.hiddenColumns);\n }, [initialState?.hiddenColumns]);\n\n useEffect(() => {\n if (hasSelectedRowsAbility) {\n onSelectRowsChange?.(selectedFlatRows?.map((row: StandardRow) => row.original).filter(isEnableRowSelect));\n }\n }, [selectedRowIds]);\n\n let pagination: JSX.Element | null = null;\n\n if (hasDefaultPagination && hasControlledPagination) {\n throw new Error(\n 'You have to pass either hasDefaultPagination true boolean prop or ' +\n 'pass fetchData callback and controlledPagination data',\n );\n }\n\n if (hasControlledPagination || hasDefaultPagination) {\n const paginationData: PaginationProps = {\n setPageSize,\n gotoPage,\n canNextPage,\n canPreviousPage,\n parentElementId,\n labelPerPage,\n pageIndex,\n previousPageHandler: previousPage,\n nextPageHandler: nextPage,\n totalPages: pageCount,\n perPage: pageSize,\n totalItems: totalItems ?? data.length,\n };\n\n if (hasControlledPagination && controlledPagination) {\n paginationData.canNextPage = controlledPagination.pageIndex + 1 !== paginationData.totalPages;\n paginationData.canPreviousPage = controlledPagination.pageIndex !== 0;\n paginationData.pageIndex = controlledPagination.pageIndex;\n paginationData.perPage = controlledPagination.pageSize;\n\n paginationData.setPageSize = (newPageSize: number) => {\n fetchData?.({\n pageIndex: paginationData.pageIndex,\n pageSize: newPageSize,\n });\n };\n\n paginationData.gotoPage = (newPageIndex: number) => {\n fetchData?.({\n pageIndex: newPageIndex,\n pageSize: paginationData.perPage,\n });\n };\n\n paginationData.nextPageHandler = () => {\n const newPageIndex = paginationData.pageIndex + 1;\n paginationData.gotoPage(newPageIndex);\n };\n\n paginationData.previousPageHandler = () => {\n const newPageIndex = paginationData.pageIndex - 1;\n paginationData.gotoPage(newPageIndex);\n };\n\n if (controlledPagination?.paginationAmount) {\n paginationData.paginationAmount = controlledPagination.paginationAmount;\n }\n }\n\n pagination = <PaginationComponent {...paginationData} />;\n }\n\n function extendSortByProps(column: ColumnWithSort) {\n const headerProps = column.getSortByToggleProps && column.getSortByToggleProps();\n\n delete headerProps?.style;\n\n if (hasManualSortBy && column.canSort && headerProps) {\n headerProps.onClick = () => {\n onSortedChange?.(column.id, Boolean(column.isSortedDesc));\n setSortBy([\n {\n id: column.id,\n desc: !column.isSortedDesc,\n },\n ]);\n };\n }\n\n return headerProps;\n }\n\n const tBodyTr = hasControlledPagination || hasDefaultPagination ? page : rows;\n\n return (\n <TableRoot className=\"table-root\">\n <TableLoading isLoading={!showLoadingState && isLoading} className=\"table-loading\">\n <TableLoadingInner>{loadingMessage}</TableLoadingInner>\n </TableLoading>\n <TableWrapper ref={tableWrapperRef} className=\"table-wrapper\">\n <TableContent id={tableContentId} className=\"table-content\">\n <TableCore {..._getTableProps(getTableBodyProps(getTableProps))} ref={tableRef}>\n <THead className=\"table-head\" data-role=\"table-head\">\n {headerGroups.map((headerGroup) => (\n <TR {...headerGroup.getHeaderGroupProps(getTableElementProps(getHeaderGroupProps))}>\n {headerGroup.headers.map((column) => {\n const headerProps = extendSortByProps(column) as DefaultObject;\n\n return (\n <TH\n {...column.getHeaderProps(\n getTableElementInternalProps(headerProps, getHeaderProps, mainCellGetter),\n )}\n >\n {getHeadContent(column)}\n {renderResizer(column)}\n </TH>\n );\n })}\n </TR>\n ))}\n </THead>\n {footerPlacement.includes(FOOTER_PLACEMENT.TOP) && (\n <TFoot className=\"table-footer-top\" data-role=\"table-footer-top\">\n {footerGroups.map((group) => (\n <TR {...group.getFooterGroupProps(getTableElementProps(getFooterGroupProps))}>\n {group.headers.map((column) => (\n <TD {...column.getFooterProps(getTableElementProps(getFooterProps, mainCellGetter))}>\n {column.render('Footer')}\n </TD>\n ))}\n </TR>\n ))}\n </TFoot>\n )}\n <TBody className=\"table-body\" data-role=\"table-body\">\n {tBodyTr.map((row: StandardRow) => {\n prepareRow(row);\n const {isDelimiterTd} = getRowPreProps(row);\n\n if (isDelimiterTd) {\n const cell = row.cells[0].render('Cell') as React.ReactNode;\n\n return (\n <React.Fragment key={`group_${row.index}`}>\n <TRGroup>\n <TR {...row.getRowProps(getTableRowProps(getRowProps))}>\n <TD\n colSpan={visibleColumns.length}\n {...row.cells[0].getCellProps(getTableCellProps(getCellProps, cellGetter))}\n >\n <strong>{cell}</strong>\n </TD>\n </TR>\n </TRGroup>\n {row?.isExpanded && rowSubComponent && rowSubComponent(row)}\n </React.Fragment>\n );\n }\n\n return (\n <React.Fragment key={`group_${row.index}`}>\n <TRGroup>\n <TR {...row.getRowProps(getTableRowProps(getRowProps))}>\n {row.cells.map((cell: StandardCell) => (\n <TD {...cell.getCellProps(getTableCellProps(getCellProps, cellGetter))}>\n {cell.render('Cell')}\n </TD>\n ))}\n </TR>\n </TRGroup>\n {row?.isExpanded && rowSubComponent && rowSubComponent(row)}\n </React.Fragment>\n );\n })}\n </TBody>\n {footerPlacement.includes(FOOTER_PLACEMENT.BOTTOM) && (\n <TFoot className=\"table-footer-bottom\" data-role=\"table-footer-bottom\">\n {footerGroups.map((group) => (\n <TR {...group.getFooterGroupProps(getTableElementProps(getFooterGroupProps))}>\n {group.headers.map((column) => (\n <TD {...column.getFooterProps(getTableElementProps(getFooterProps, mainCellGetter))}>\n {column.render('Footer')}\n </TD>\n ))}\n </TR>\n ))}\n </TFoot>\n )}\n </TableCore>\n </TableContent>\n </TableWrapper>\n {!isLoading && !data.length && noDataMessage}\n {pagination}\n </TableRoot>\n );\n};\n\nTable.defaultProps = defaultProps;\n\nexport {Table};\n","import React, {FunctionComponent, useMemo} from 'react';\nimport {Column} from 'react-table';\nimport {DefaultObject, LoadingState} from './types';\n\nconst useLoadingState = (\n showLoadingState: boolean,\n loading: boolean,\n pageSize: number,\n columns: Column<DefaultObject>[],\n LoadingCellComponent: FunctionComponent<DefaultObject>,\n): LoadingState => {\n const loadingColumns: Column<DefaultObject>[] | undefined = useMemo(\n () =>\n showLoadingState && loading\n ? columns.map((column: Column<DefaultObject>) => {\n const loadingColumn: Column<DefaultObject> = {\n ...column,\n Cell: () => <LoadingCellComponent />,\n };\n\n return loadingColumn;\n })\n : [],\n [columns, loading, showLoadingState],\n );\n\n const loadingData = useMemo(() => {\n if (showLoadingState && loading && columns && columns.length > 0) {\n const dataObject: DefaultObject = {};\n const dataArray: DefaultObject[] = [];\n\n for (let i = 0; i < columns.length; i += 1) {\n dataObject[`empty_${i}`] = '';\n }\n for (let i = 0; i < pageSize; i += 1) {\n dataArray.push(dataObject);\n }\n\n return dataArray;\n }\n\n return [];\n }, [columns, loading, pageSize, showLoadingState]);\n\n return {\n // @ts-ignore\n loadingColumns,\n loadingData,\n };\n};\n\nexport default useLoadingState;\n"],"names":["FOOTER_PLACEMENT","calculateNewClassNames","tableNode","tableWrapperNode","tableRect","getBoundingClientRect","tableWrapperRect","newClassName","tableRectLeft","Math","floor","left","tableRectRight","right","tableWrapperRectLeft","tableWrapperRectRight","push","newClassNameList","classList","remove","add","apply","changeClassName","defaultGetter","props","cellGetter","_ref","_cell$column","cell","_extends","align","column","mainCellGetter","_ref2","getTableElementProps","userGetter","getter","meta","getTableRowProps","getTableCellProps","loadingAnimation","keyframes","_templateObject","_taggedTemplateLiteralLoose","TableLoading","styled","div","_templateObject2","isLoading","css","_templateObject3","TableLoadingInner","_templateObject4","TableWrapper","_templateObject5","TableRoot","_templateObject6","fontNormal","TableContent","_templateObject7","TableCore","_templateObject8","HeadCell","_templateObject9","TD","_templateObject0","_templateObject1","EmptyStateCell","_templateObject10","spacing","gray95","white","TH","_templateObject11","THead","_templateObject12","black","TRGroup","_templateObject13","TR","_templateObject14","TBody","_templateObject15","gray80","TFoot","_templateObject16","TResizer","_templateObject17","_TableRoot","_TableWrapper","_TableContent","_HeadCell","_TableLoading","_TableLoadingInner","_TD","_TableCore","_THead","_TR","_TH","_TBody","_TRGroup","_TFoot","_TResizer","defaultProps","hasDefaultPagination","footerPlacement","loadingMessage","labelPerPage","parentElementId","tableContentId","showLoadingState","initialState","LoadingCellComponent","_EmptyStateCell","getRowPreProps","isEnableRowSelect","selectColumnProps","noDataMessage","isFunction","reference","Table","columns","data","totalItems","fetchData","controlledPagination","onSortedChange","onSelectRowsChange","PaginationComponent","getTableProps","getHeaderGroupProps","getHeaderProps","getRowProps","getCellProps","getFooterProps","getFooterGroupProps","rowSubComponent","memoColumns","useMemo","_useLoadingState","loading","pageSize","loadingColumns","map","Cell","React","loadingData","length","dataObject","dataArray","i","useLoadingState","_controlledPagination","showLoading","hasSelectedRowsAbility","hasManualSortBy","hasControlledPagination","Object","keys","options","disableSortRemove","disableMultiSort","disabledMultiRemove","manualSortBy","_controlledPagination2","_controlledPagination3","pageCount","Error","pageIndex","autoResetPage","manualPagination","_useTable","useTable","useFlexLayout","useSortBy","useExpanded","usePagination","useRowSelect","hooks","newColumn","id","disableSortBy","Header","instance","getToggleAllPageRowsSelectedProps","toggleAllPageRowsSelected","isDisabledAllRows","page","original","filter","Checkbox","elementId","onChange","isChecked","checked","isDisabled","row","toggleRowSelected","getToggleRowSelectedProps","Number","isInteger","isEnabled","visibleColumns","tableColumns","concat","useResizeColumns","_getTableProps","headerGroups","footerGroups","setHiddenColumns","rows","prepareRow","rest","_objectWithoutPropertiesLoose","_excluded","selectedFlatRows","setSortBy","canPreviousPage","canNextPage","gotoPage","nextPage","previousPage","setPageSize","_rest$state","state","selectedRowIds","tableRef","useRef","tableWrapperRef","useEffect","ticking","onMousewheel","window","requestAnimationFrame","current","_tableRef$current","addEventListener","_tableRef$current2","removeEventListener","useTableShadow","hiddenColumns","pagination","paginationData","previousPageHandler","nextPageHandler","totalPages","perPage","newPageSize","newPageIndex","paginationAmount","tBodyTr","className","ref","headerGroup","headers","headerProps","getSortByToggleProps","style","canSort","onClick","Boolean","isSortedDesc","desc","extendSortByProps","internalProps","getTableElementInternalProps","isSorted","render","ArrowUp","size","Size","Small","color","Color","GrayDark","ArrowDown","getHeadContent","isResizable","getResizerProps","e","preventDefault","stopPropagation","renderResizer","includes","TOP","group","isDelimiterTd","cells","Fragment","key","index","colSpan","isExpanded","BOTTOM"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"table.cjs.production.min.js","sources":["../src/propsGetter.tsx","../src/types.tsx","../src/style.tsx","../src/useTableShadow.tsx","../src/index.tsx","../src/useLoadingState.tsx"],"sourcesContent":["import {\n BaseMeta,\n DefaultObject,\n ElementCellPropGetter,\n ElementGetter,\n ElementHeaderFooterPropGetter,\n ElementRowPropGetter,\n GetTableContainerPropsGetter,\n GetTableElementInternalPropsGetter,\n GetTableElementPropsGetter,\n TableGetter,\n} from './types';\n\nexport const defaultGetter: ElementGetter = (props) => props;\n\nexport const cellGetter: ElementGetter = (props, {cell}) => ({\n ...props,\n // @ts-ignore\n align: cell?.column?.align,\n});\nexport const mainCellGetter: ElementGetter = (props, {column}) => ({\n ...props,\n // @ts-ignore\n align: column?.align,\n});\n\nexport const getTableProps: GetTableContainerPropsGetter = (userGetter, getter = defaultGetter as TableGetter) => {\n if (userGetter) {\n return (props) => ({\n ...getter(props),\n ...userGetter(props),\n });\n }\n\n return getter;\n};\n\nexport const getTableElementProps: GetTableElementPropsGetter<ElementHeaderFooterPropGetter> = (\n userGetter,\n getter = defaultGetter,\n) => {\n if (userGetter) {\n return (props, meta) => ({\n ...getter(props, meta),\n ...userGetter(props, meta),\n });\n }\n\n return getter;\n};\n\nexport const getTableRowProps: GetTableElementPropsGetter<ElementRowPropGetter> = (\n userGetter,\n getter = defaultGetter,\n) => {\n if (userGetter) {\n return (props, meta) => ({\n ...getter(props, meta),\n ...userGetter(props, meta),\n });\n }\n\n return getter;\n};\n\nexport const getTableCellProps: GetTableElementPropsGetter<ElementCellPropGetter> = (\n userGetter,\n getter = defaultGetter,\n) => {\n if (userGetter) {\n return (props, meta) => ({\n ...getter(props, meta),\n ...userGetter(props, meta),\n });\n }\n\n return getter;\n};\n\nexport const getTableElementInternalProps: GetTableElementInternalPropsGetter = (\n internalProps,\n userGetter,\n getter = defaultGetter,\n) => {\n if (userGetter) {\n return (props, meta) => ({\n ...getter({...props, ...internalProps}, meta),\n ...userGetter(props, meta),\n });\n }\n\n return (props: DefaultObject, meta: BaseMeta) => getter({...props, ...internalProps}, meta);\n};\n","import React, {FunctionComponent, ReactElement, ReactNode} from 'react';\nimport {\n Cell,\n CellPropGetter,\n Column,\n FooterGroupPropGetter,\n FooterPropGetter,\n HeaderGroup,\n HeaderGroupPropGetter,\n Hooks,\n Meta,\n Row,\n RowPropGetter,\n TableBodyPropGetter,\n TablePropGetter,\n TableState,\n UsePaginationInstanceProps,\n UsePaginationOptions,\n UsePaginationState,\n UseRowSelectInstanceProps,\n UseRowSelectState,\n UseSortByColumnProps,\n UseRowSelectRowProps,\n UseSortByInstanceProps,\n UseSortByOptions,\n UseTableOptions,\n HeaderPropGetter,\n} from 'react-table';\n\nexport type DefaultObject = Record<string, string | number | unknown>;\n\nexport type LoadingState = {\n loadingColumns?: Column[];\n loadingData: any[];\n};\n\nexport enum FOOTER_PLACEMENT {\n TOP = 'top',\n BOTTOM = 'bottom',\n}\n\nexport type PaginationProps = {\n paginationAmount?: string | ReactNode | ReactElement;\n parentElementId: string;\n labelPerPage?: string;\n pageSizes?: Array<string | number>;\n pageIndex: number;\n perPage: number;\n totalPages: number;\n totalItems: number;\n canNextPage: boolean;\n canPreviousPage: boolean;\n nextPageHandler: () => void;\n previousPageHandler: () => void;\n setPageSize: (size: number) => void;\n gotoPage: (page: number) => void;\n};\n\nexport type ControlledPagination = {\n paginationAmount?: string | ReactNode | ReactElement;\n pageSize: number;\n pageIndex: number;\n pageCount: number;\n};\n\nexport type TableProps = {\n columns: Array<Column<DefaultObject>>;\n data: [];\n totalItems?: number;\n PaginationComponent: React.FunctionComponent<PaginationProps>;\n initialState: Partial<TableState<DefaultObject>>;\n fetchData?: (params: {pageIndex: number; pageSize: number}) => void;\n onSortedChange?: (id: string, isDesc: boolean) => void;\n isLoading?: boolean;\n footerPlacement?: Array<FOOTER_PLACEMENT>;\n hasDefaultPagination?: boolean;\n onSelectRowsChange?: (rows: Array<DefaultObject>) => void;\n controlledPagination?: ControlledPagination;\n loadingMessage?: string;\n labelPerPage?: string;\n parentElementId?: string;\n tableContentId?: string;\n getRowPreProps?: (row: Row) => DefaultObject;\n getTableProps?: TableGetter;\n getHeaderGroupProps?: ElementGetter;\n getHeaderProps?: ElementGetter;\n getRowProps?: ElementGetter;\n getCellProps?: ElementGetter;\n getFooterProps?: ElementGetter;\n getFooterGroupProps?: ElementGetter;\n showLoadingState?: boolean;\n LoadingCellComponent?: FunctionComponent<DefaultObject>;\n noDataMessage?: string | ReactElement;\n rowSubComponent?: (row: StandardRow) => ReactElement;\n isEnableRowSelect?: (original: DefaultObject) => boolean;\n};\n\nexport type TableOptions = {\n columns: Array<Column<DefaultObject>>;\n data: Array<DefaultObject>;\n initialState: {\n pageIndex?: number;\n pageSize?: number;\n };\n disableSortRemove: boolean;\n disableMultiSort: boolean;\n disableMultiRemove: boolean;\n manualSortBy?: boolean;\n autoResetPage?: boolean;\n manualPagination?: boolean;\n pageCount?: number;\n};\n\nexport type MetaProps = {\n column?: HeaderGroup<DefaultObject>;\n cell?: Cell;\n};\n\nexport type BaseMeta = Meta<DefaultObject, MetaProps>;\n\nexport type TableGetter = (props: DefaultObject) => DefaultObject;\n\nexport type ElementGetter = (props: DefaultObject, meta: BaseMeta) => DefaultObject;\n\nexport type ElementCellPropGetter = CellPropGetter<DefaultObject>;\n\nexport type ElementRowPropGetter = RowPropGetter<DefaultObject>;\n\nexport type ElementHeaderFooterPropGetter =\n | FooterGroupPropGetter<DefaultObject>\n | HeaderGroupPropGetter<DefaultObject>\n | FooterPropGetter<DefaultObject>;\n\nexport type GetTableContainerPropsGetter = (\n userGetter?: TableGetter,\n getter?: TableGetter,\n) => TablePropGetter<DefaultObject> | TableBodyPropGetter<DefaultObject>;\n\nexport type GetTableElementPropsGetter<T> = (userGetter?: ElementGetter, getter?: ElementGetter) => T;\n\nexport type GetTableElementInternalPropsGetter = (\n internalProps: DefaultObject,\n userGetter?: ElementGetter,\n getter?: ElementGetter,\n) => HeaderPropGetter<DefaultObject>;\n\nexport type ColumnWithSort = HeaderGroup<DefaultObject> & Partial<UseSortByColumnProps<DefaultObject>>;\n\nexport type StandardColumn = Column<DefaultObject>;\n\nexport type StandardRow = Row<DefaultObject> & {isExpanded?: boolean};\n\nexport type SelectableRow = Row<{id: string}> & UseRowSelectRowProps<DefaultObject>;\n\nexport type StandardCell = Cell<DefaultObject>;\n\nexport type SelectableRowInstanceProps = UseRowSelectInstanceProps<DefaultObject>;\n\nexport type StandardHooks = Hooks<DefaultObject>;\n\nexport type TableHooksInstanceProps = UseSortByInstanceProps<DefaultObject> &\n UsePaginationInstanceProps<DefaultObject> &\n UseRowSelectInstanceProps<DefaultObject> & {\n state: UseRowSelectState<DefaultObject> & UsePaginationState<DefaultObject>;\n };\n\nexport type TableOptionsProps = UseTableOptions<DefaultObject> &\n UseSortByOptions<DefaultObject> &\n UsePaginationOptions<DefaultObject> & {\n initialState: Partial<TableState<DefaultObject>> & Partial<UsePaginationState<DefaultObject>>;\n };\n\nexport class Table extends React.Component<Partial<TableProps>> {}\n","/* eslint max-len: off */\nimport styled, {keyframes, css, CSSObject} from 'styled-components';\nimport {fontNormal, white, black, spacing, gray80, gray95} from '@propellerads/stylevariables';\n\nconst loadingAnimation = keyframes`\n from {\n background-position-x: 0;\n }\n 50% {\n background-position-x: 100%;\n }\n 100% {\n background-position-x: 0;\n }\n`;\n\nexport const TableLoading = styled.div`\n display: block;\n position: absolute;\n left: 0;\n right: 0;\n top: 0;\n bottom: 0;\n background: rgba(255, 255, 255, 0.8);\n transition: all 0.3s ease;\n z-index: -1;\n opacity: 0;\n pointer-events: none;\n\n ${(props: {isLoading: boolean}) =>\n props.isLoading &&\n css`\n opacity: 1;\n z-index: 2;\n pointer-events: all;\n `}\n`;\n\nexport const TableLoadingInner = styled.div`\n position: absolute;\n display: block;\n text-align: center;\n width: 100%;\n top: 50%;\n left: 0;\n color: rgba(0, 0, 0, 0.6);\n transform: translateY(-52%);\n transition: all 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);\n`;\n\nexport const TableWrapper = styled.div`\n position: relative;\n overflow: hidden;\n\n &::before {\n bottom: 10px;\n content: '';\n opacity: 0;\n pointer-events: none;\n position: absolute;\n width: 10px;\n height: 100%;\n top: 0;\n left: -10px;\n box-shadow: 0 3px 6px 0 rgba(0, 0, 0, 0.2);\n transition: 0.3s opacity;\n }\n\n &::after {\n bottom: 10px;\n content: '';\n opacity: 0;\n pointer-events: none;\n width: 10px;\n height: 100%;\n position: absolute;\n top: 0;\n right: -10px;\n box-shadow: 0 3px 6px 0 rgba(0, 0, 0, 0.2);\n transition: 0.3s opacity;\n }\n\n &.shadow_left {\n &::before {\n opacity: 1 !important;\n }\n }\n\n &.shadow_right {\n &::after {\n opacity: 1 !important;\n }\n }\n`;\n\nexport const TableRoot = styled.div`\n font-size: ${fontNormal}px;\n position: relative;\n display: flex;\n flex-direction: column;\n border: 0;\n`;\n\nexport const TableContent = styled.div`\n display: block;\n max-width: 100%;\n overflow-x: scroll;\n overflow-y: hidden;\n`;\n\nexport const TableCore = styled.div`\n flex: auto 1;\n display: flex;\n flex-direction: column;\n align-items: stretch;\n border-collapse: collapse;\n`;\n\nexport const HeadCell = styled.div`\n display: inline-flex;\n`;\n\nexport const TD = styled.div`\n white-space: nowrap;\n text-overflow: ellipsis;\n line-height: 1.3rem;\n padding: 7px 4px;\n overflow: hidden;\n transition: width 0.3s ease 0s, min-width, padding, opacity;\n\n ${({align}: {align?: CSSObject; colSpan?: number}) =>\n align &&\n css`\n text-align: ${align};\n `}\n`;\n\nexport const EmptyStateCell = styled.div`\n width: 100%;\n height: ${spacing * 4}px;\n background: linear-gradient(to left, ${gray95}, ${white}, ${gray95});\n background-size: 200% 200%;\n animation: ${loadingAnimation} 1.6s linear infinite;\n`;\n\nexport const TH = styled.div`\n padding: 0 4px;\n line-height: normal;\n position: relative;\n transition: box-shadow 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275) 0s;\n color: rgb(0, 0, 0);\n font-weight: 500;\n outline: none;\n`;\n\nexport const THead = styled.div`\n flex: 1 0 auto;\n display: flex;\n flex-direction: column;\n user-select: none;\n\n ${TH}, ${TD} {\n padding: 0 4px;\n line-height: normal;\n position: relative;\n transition: box-shadow 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);\n color: ${black};\n font-weight: 500;\n outline: none;\n }\n`;\n\nexport const TRGroup = styled.div`\n display: flex;\n flex: 1 0 auto;\n box-shadow: inset 0 -1px 0 0 ${gray95};\n min-width: 100%;\n width: max-content;\n`;\n\nexport const TR = styled.div`\n padding: 0;\n -webkit-box-align: center;\n align-items: center;\n`;\n\nexport const TBody = styled.div`\n border-top: 1px solid ${gray80};\n margin-top: ${spacing * 2}px;\n min-width: 100%;\n width: max-content;\n`;\n\nexport const TFoot = styled.div`\n background: ${gray95};\n flex: 1 0 auto;\n display: flex;\n flex-direction: column;\n`;\n\nexport const TResizer = styled.div`\n display: inline-block;\n position: absolute;\n right: 5px;\n top: 0;\n z-index: 1;\n touch-action: none;\n\n &:after {\n content: '↔';\n position: absolute;\n right: 0;\n top: 0;\n }\n`;\n","// @ts-nocheck\nimport {useEffect} from 'react';\n\nconst TABLE_SHADOW_CLASS_NAME = {\n LEFT: 'shadow_left',\n RIGHT: 'shadow_right',\n};\n\nfunction changeClassName(tableWrapperNode: Element, newClassNameList: string[]) {\n const {classList} = tableWrapperNode;\n\n classList.remove(TABLE_SHADOW_CLASS_NAME.LEFT, TABLE_SHADOW_CLASS_NAME.RIGHT);\n classList.add(...newClassNameList);\n}\n\nfunction calculateNewClassNames(tableNode, tableWrapperNode) {\n if (!tableNode || !tableWrapperNode) {\n return;\n }\n\n const tableRect = tableNode.getBoundingClientRect();\n const tableWrapperRect = tableWrapperNode.getBoundingClientRect();\n const newClassName = [];\n\n const tableRectLeft = Math.floor(tableRect.left);\n const tableRectRight = Math.floor(tableRect.right);\n const tableWrapperRectLeft = Math.floor(tableWrapperRect.left);\n const tableWrapperRectRight = Math.floor(tableWrapperRect.right);\n\n if (tableRectLeft < tableWrapperRectLeft) {\n newClassName.push(TABLE_SHADOW_CLASS_NAME.LEFT);\n }\n\n if (tableRectRight > tableWrapperRectRight) {\n newClassName.push(TABLE_SHADOW_CLASS_NAME.RIGHT);\n }\n\n changeClassName(tableWrapperNode, newClassName);\n}\n\nexport default (tableRef, tableWrapperRef) => {\n useEffect(() => {\n let ticking = false;\n\n function onMousewheel() {\n if (ticking) {\n return;\n }\n\n window.requestAnimationFrame(() => {\n calculateNewClassNames(tableRef.current, tableWrapperRef.current);\n ticking = false;\n });\n\n ticking = true;\n }\n\n calculateNewClassNames(tableRef.current, tableWrapperRef.current);\n\n tableRef?.current?.addEventListener('mousewheel', onMousewheel);\n window.addEventListener('resize', onMousewheel);\n\n return () => {\n tableRef?.current?.removeEventListener('mousewheel', onMousewheel);\n window.removeEventListener('resize', onMousewheel);\n };\n }, [tableRef.current, tableWrapperRef.current]);\n};\n","import {ArrowDown, ArrowUp, Color, Size} from '@propellerads/icon';\nimport Checkbox from '@propellerads/input-checkbox';\nimport React, {FunctionComponent, useEffect, useMemo, useRef} from 'react';\nimport {\n Column,\n TableState,\n useExpanded,\n useFlexLayout,\n usePagination,\n useResizeColumns,\n useRowSelect,\n useSortBy,\n useTable,\n} from 'react-table';\nimport {\n cellGetter,\n getTableProps as getTableBodyProps,\n getTableCellProps,\n getTableElementInternalProps,\n getTableElementProps,\n getTableRowProps,\n mainCellGetter,\n} from './propsGetter';\nimport {\n EmptyStateCell as _EmptyStateCell,\n HeadCell as _HeadCell,\n TableContent as _TableContent,\n TableCore as _TableCore,\n TableLoading as _TableLoading,\n TableLoadingInner as _TableLoadingInner,\n TableRoot as _TableRoot,\n TableWrapper as _TableWrapper,\n TBody as _TBody,\n TD as _TD,\n TFoot as _TFoot,\n TH as _TH,\n THead as _THead,\n TR as _TR,\n TResizer as _TResizer,\n TRGroup as _TRGroup,\n} from './style';\n\nimport {\n ColumnWithSort,\n DefaultObject,\n FOOTER_PLACEMENT,\n PaginationProps,\n SelectableRow,\n StandardCell,\n StandardColumn,\n StandardHooks,\n StandardRow,\n TableHooksInstanceProps,\n TableOptionsProps,\n TableProps,\n} from './types';\nimport useLoadingState from './useLoadingState';\nimport useTableShadow from './useTableShadow';\n\nconst TableRoot = _TableRoot as unknown as React.FunctionComponent<DefaultObject>;\nconst TableWrapper = _TableWrapper as unknown as React.FunctionComponent<DefaultObject>;\nconst TableContent = _TableContent as unknown as React.FunctionComponent<DefaultObject>;\nconst HeadCell = _HeadCell as unknown as React.FunctionComponent<DefaultObject>;\nconst TableLoading = _TableLoading as unknown as React.FunctionComponent<DefaultObject>;\nconst TableLoadingInner = _TableLoadingInner as unknown as React.FunctionComponent<DefaultObject>;\nconst TD = _TD as unknown as React.FunctionComponent<DefaultObject>;\nconst TableCore = _TableCore as unknown as React.FunctionComponent<DefaultObject>;\nconst THead = _THead as unknown as React.FunctionComponent<DefaultObject>;\nconst TR = _TR as unknown as React.FunctionComponent<DefaultObject>;\nconst TH = _TH as unknown as React.FunctionComponent<DefaultObject>;\nconst TBody = _TBody as unknown as React.FunctionComponent<DefaultObject>;\nconst TRGroup = _TRGroup as unknown as React.FunctionComponent<DefaultObject>;\nconst TFoot = _TFoot as unknown as React.FunctionComponent<DefaultObject>;\nconst EmptyStateCell = _EmptyStateCell as unknown as React.FunctionComponent<DefaultObject>;\nconst TResizer = _TResizer as unknown as React.FunctionComponent<DefaultObject>;\n\nconst isEnableRowSelectDefault: (_original?: DefaultObject) => boolean = () => true;\nconst selectColumnPropsDefault = {};\nconst getRowPrePropsDefault: () => DefaultObject = () => ({});\n\nexport const defaultProps = {\n hasDefaultPagination: false,\n isLoading: false,\n footerPlacement: [] as FOOTER_PLACEMENT[],\n loadingMessage: 'loading...',\n labelPerPage: 'Show rows',\n parentElementId: 'parent-element',\n tableContentId: '',\n showLoadingState: false,\n initialState: {} as Partial<TableState<DefaultObject>>,\n LoadingCellComponent: EmptyStateCell,\n getRowPreProps: getRowPrePropsDefault,\n isEnableRowSelect: isEnableRowSelectDefault,\n selectColumnProps: selectColumnPropsDefault,\n noDataMessage: '',\n};\n\ntype DefaultProps = Readonly<typeof defaultProps>;\n\nconst disableSortRemove = true;\nconst disableMultiSort = true;\nconst disabledMultiRemove = true;\n\nconst DEFAULT_PAGE_INDEX = 0;\nconst DEFAULT_PAGE_SIZE = 10;\n\nfunction isFunction(reference?: (arg1?: any, arg2?: any) => void) {\n return typeof reference === 'function';\n}\n\nfunction renderResizer(column) {\n if (column.isResizable) {\n return (\n <TResizer\n {...column.getResizerProps()}\n onClick={(e) => {\n e.preventDefault();\n e.stopPropagation();\n }}\n />\n );\n }\n\n return null;\n}\n\nfunction getHeadContent(column: ColumnWithSort) {\n if (column.isSorted && column.isSortedDesc) {\n return (\n <HeadCell>\n {column.render('Header')}\n <ArrowUp size={Size.Small} color={Color.GrayDark} />\n </HeadCell>\n );\n }\n\n if (column.isSorted && !column.isSortedDesc) {\n return (\n <HeadCell>\n {column.render('Header')}\n <ArrowDown size={Size.Small} color={Color.GrayDark} />\n </HeadCell>\n );\n }\n\n return column.render('Header');\n}\n\nconst Table: FunctionComponent<TableProps & DefaultProps> = ({\n columns,\n data,\n totalItems,\n fetchData,\n controlledPagination,\n initialState = defaultProps.initialState,\n isLoading = defaultProps.isLoading,\n loadingMessage = defaultProps.loadingMessage,\n labelPerPage = defaultProps.labelPerPage,\n footerPlacement = defaultProps.footerPlacement,\n onSortedChange,\n hasDefaultPagination = defaultProps.hasDefaultPagination,\n onSelectRowsChange,\n parentElementId = defaultProps.parentElementId,\n tableContentId = defaultProps.tableContentId,\n LoadingCellComponent = defaultProps.LoadingCellComponent,\n PaginationComponent,\n getRowPreProps = defaultProps.getRowPreProps as NonNullable<TableProps['getRowPreProps']>,\n getTableProps,\n getHeaderGroupProps,\n getHeaderProps,\n getRowProps,\n getCellProps,\n getFooterProps,\n getFooterGroupProps,\n showLoadingState = defaultProps.showLoadingState,\n noDataMessage = defaultProps.noDataMessage,\n rowSubComponent,\n isEnableRowSelect = defaultProps.isEnableRowSelect,\n selectColumnProps = defaultProps.selectColumnProps,\n}) => {\n const memoColumns = useMemo(() => columns, [columns]);\n\n const {loadingColumns, loadingData} = useLoadingState(\n showLoadingState,\n isLoading,\n controlledPagination?.pageSize ?? DEFAULT_PAGE_SIZE,\n memoColumns,\n LoadingCellComponent,\n );\n\n const showLoading = showLoadingState && isLoading;\n const hasSelectedRowsAbility = onSelectRowsChange && isFunction(onSelectRowsChange);\n const hasManualSortBy = onSortedChange && isFunction(onSortedChange);\n const hasControlledPagination = fetchData && controlledPagination && Object.keys(controlledPagination).length > 0;\n\n const options: TableOptionsProps = {\n columns: showLoading ? (loadingColumns as Column<DefaultObject>[]) : memoColumns,\n data: showLoading ? loadingData : data,\n initialState,\n disableSortRemove,\n disableMultiSort,\n disabledMultiRemove,\n };\n\n if (hasManualSortBy) {\n options.manualSortBy = true;\n }\n\n if (hasControlledPagination) {\n if (typeof controlledPagination?.pageCount === 'undefined') {\n throw new Error('You have to pass pageCount in controlledPagination data');\n }\n\n options.initialState = {\n ...options.initialState,\n pageIndex: controlledPagination.pageIndex ?? DEFAULT_PAGE_INDEX,\n pageSize: controlledPagination.pageSize ?? DEFAULT_PAGE_SIZE,\n };\n\n options.autoResetPage = true;\n options.manualPagination = true;\n options.pageCount = controlledPagination.pageCount;\n }\n\n const useSelect = (hooks: StandardHooks) => {\n if (!hasSelectedRowsAbility) {\n return;\n }\n\n const newColumn = {\n id: 'selection',\n disableSortBy: true,\n Header: (instance: TableHooksInstanceProps & {toggleAllPageRowsSelected: () => void}) => {\n const {getToggleAllPageRowsSelectedProps, toggleAllPageRowsSelected, page} = instance;\n\n const isDisabledAllRows = page.map(({original}) => original).filter(isEnableRowSelect).length === 0;\n\n return (\n <Checkbox\n elementId=\"all\"\n onChange={toggleAllPageRowsSelected}\n isChecked={getToggleAllPageRowsSelectedProps().checked}\n isDisabled={isDisabledAllRows}\n />\n );\n },\n Cell: ({row}: {row: SelectableRow}) => {\n const {id, original, toggleRowSelected, getToggleRowSelectedProps} = row;\n\n const elementId = Number.isInteger(original.id) ? original.id : id;\n const isEnabled = isEnableRowSelect(row.original);\n\n return (\n <Checkbox\n elementId={elementId}\n onChange={toggleRowSelected}\n isDisabled={!isEnabled}\n isChecked={isEnabled && getToggleRowSelectedProps().checked}\n />\n );\n },\n ...selectColumnProps,\n };\n\n // @ts-ignore\n hooks.visibleColumns.push((tableColumns: Array<StandardColumn>) => [newColumn, ...tableColumns]);\n };\n\n const {\n getTableProps: _getTableProps,\n headerGroups,\n footerGroups,\n setHiddenColumns,\n rows,\n prepareRow,\n visibleColumns,\n ...rest\n } = useTable(\n options,\n useFlexLayout,\n useSortBy,\n useExpanded,\n usePagination,\n useRowSelect,\n useSelect,\n useResizeColumns,\n );\n\n const {\n selectedFlatRows,\n setSortBy,\n page,\n canPreviousPage,\n canNextPage,\n pageCount,\n gotoPage,\n nextPage,\n previousPage,\n setPageSize,\n state: {selectedRowIds, pageIndex, pageSize},\n // @ts-ignore\n } = rest as TableHooksInstanceProps;\n\n const tableRef = useRef(null);\n const tableWrapperRef = useRef(null);\n\n useTableShadow(tableRef, tableWrapperRef);\n\n useEffect(() => {\n if (!initialState?.hiddenColumns) {\n return;\n }\n\n setHiddenColumns(initialState.hiddenColumns);\n }, [initialState?.hiddenColumns]);\n\n useEffect(() => {\n if (hasSelectedRowsAbility) {\n onSelectRowsChange?.(selectedFlatRows?.map((row: StandardRow) => row.original).filter(isEnableRowSelect));\n }\n }, [selectedRowIds]);\n\n let pagination: JSX.Element | null = null;\n\n if (hasDefaultPagination && hasControlledPagination) {\n throw new Error(\n 'You have to pass either hasDefaultPagination true boolean prop or ' +\n 'pass fetchData callback and controlledPagination data',\n );\n }\n\n if (hasControlledPagination || hasDefaultPagination) {\n const paginationData: PaginationProps = {\n setPageSize,\n gotoPage,\n canNextPage,\n canPreviousPage,\n parentElementId,\n labelPerPage,\n pageIndex,\n previousPageHandler: previousPage,\n nextPageHandler: nextPage,\n totalPages: pageCount,\n perPage: pageSize,\n totalItems: totalItems ?? data.length,\n };\n\n if (hasControlledPagination && controlledPagination) {\n paginationData.canNextPage = controlledPagination.pageIndex + 1 !== paginationData.totalPages;\n paginationData.canPreviousPage = controlledPagination.pageIndex !== 0;\n paginationData.pageIndex = controlledPagination.pageIndex;\n paginationData.perPage = controlledPagination.pageSize;\n\n paginationData.setPageSize = (newPageSize: number) => {\n fetchData?.({\n pageIndex: paginationData.pageIndex,\n pageSize: newPageSize,\n });\n };\n\n paginationData.gotoPage = (newPageIndex: number) => {\n fetchData?.({\n pageIndex: newPageIndex,\n pageSize: paginationData.perPage,\n });\n };\n\n paginationData.nextPageHandler = () => {\n const newPageIndex = paginationData.pageIndex + 1;\n paginationData.gotoPage(newPageIndex);\n };\n\n paginationData.previousPageHandler = () => {\n const newPageIndex = paginationData.pageIndex - 1;\n paginationData.gotoPage(newPageIndex);\n };\n\n if (controlledPagination?.paginationAmount) {\n paginationData.paginationAmount = controlledPagination.paginationAmount;\n }\n }\n\n pagination = <PaginationComponent {...paginationData} />;\n }\n\n function extendSortByProps(column: ColumnWithSort) {\n const headerProps = column.getSortByToggleProps && column.getSortByToggleProps();\n\n delete headerProps?.style;\n\n if (hasManualSortBy && column.canSort && headerProps) {\n headerProps.onClick = () => {\n onSortedChange?.(column.id, Boolean(column.isSortedDesc));\n setSortBy([\n {\n id: column.id,\n desc: !column.isSortedDesc,\n },\n ]);\n };\n }\n\n return headerProps;\n }\n\n const tBodyTr = hasControlledPagination || hasDefaultPagination ? page : rows;\n\n return (\n <TableRoot className=\"table-root\">\n <TableLoading isLoading={!showLoadingState && isLoading} className=\"table-loading\">\n <TableLoadingInner>{loadingMessage}</TableLoadingInner>\n </TableLoading>\n <TableWrapper ref={tableWrapperRef} className=\"table-wrapper\">\n <TableContent id={tableContentId} className=\"table-content\">\n <TableCore {..._getTableProps(getTableBodyProps(getTableProps))} ref={tableRef}>\n <THead className=\"table-head\" data-role=\"table-head\">\n {headerGroups.map((headerGroup) => {\n const {key: headerGroupKey, ...headerGroupProps} = headerGroup.getHeaderGroupProps(\n getTableElementProps(getHeaderGroupProps),\n );\n return (\n <TR key={headerGroupKey} {...headerGroupProps}>\n {headerGroup.headers.map((column) => {\n const headerProps = extendSortByProps(column) as DefaultObject;\n const {key: columnKey, ...thProps} = column.getHeaderProps(\n getTableElementInternalProps(headerProps, getHeaderProps, mainCellGetter),\n );\n\n return (\n <TH key={columnKey} {...thProps}>\n {getHeadContent(column)}\n {renderResizer(column)}\n </TH>\n );\n })}\n </TR>\n );\n })}\n </THead>\n {footerPlacement.includes(FOOTER_PLACEMENT.TOP) && (\n <TFoot className=\"table-footer-top\" data-role=\"table-footer-top\">\n {footerGroups.map((group) => {\n const {key: footerTopGroupKey, ...footerTopGroupProps} = group.getFooterGroupProps(\n getTableElementProps(getFooterGroupProps),\n );\n return (\n <TR key={footerTopGroupKey} {...footerTopGroupProps}>\n {group.headers.map((column) => {\n const {key: footerTopColumnKey, ...footerTopTdProps} = column.getFooterProps(\n getTableElementProps(getFooterProps, mainCellGetter),\n );\n return (\n <TD key={footerTopColumnKey} {...footerTopTdProps}>\n {column.render('Footer')}\n </TD>\n );\n })}\n </TR>\n );\n })}\n </TFoot>\n )}\n <TBody className=\"table-body\" data-role=\"table-body\">\n {tBodyTr.map((row: StandardRow) => {\n prepareRow(row);\n const {isDelimiterTd} = getRowPreProps(row);\n\n if (isDelimiterTd) {\n const cell = row.cells[0].render('Cell') as React.ReactNode;\n const {key: delimiterRowKey, ...delimiterRowProps} = row.getRowProps(getTableRowProps(getRowProps));\n const {key: delimiterCellKey, ...delimiterCellProps} = row.cells[0].getCellProps(\n getTableCellProps(getCellProps, cellGetter),\n );\n\n return (\n <React.Fragment key={`group_${row.index}`}>\n <TRGroup>\n <TR key={delimiterRowKey} {...delimiterRowProps}>\n <TD key={delimiterCellKey} colSpan={visibleColumns.length} {...delimiterCellProps}>\n <strong>{cell}</strong>\n </TD>\n </TR>\n </TRGroup>\n {row?.isExpanded && rowSubComponent && rowSubComponent(row)}\n </React.Fragment>\n );\n }\n\n const {key: rowKey, ...rowProps} = row.getRowProps(getTableRowProps(getRowProps));\n\n return (\n <React.Fragment key={`group_${row.index}`}>\n <TRGroup>\n <TR key={rowKey} {...rowProps}>\n {row.cells.map((cell: StandardCell) => {\n const {key: cellKey, ...cellProps} = cell.getCellProps(\n getTableCellProps(getCellProps, cellGetter),\n );\n return (\n <TD key={cellKey} {...cellProps}>\n {cell.render('Cell')}\n </TD>\n );\n })}\n </TR>\n </TRGroup>\n {row?.isExpanded && rowSubComponent && rowSubComponent(row)}\n </React.Fragment>\n );\n })}\n </TBody>\n {footerPlacement.includes(FOOTER_PLACEMENT.BOTTOM) && (\n <TFoot className=\"table-footer-bottom\" data-role=\"table-footer-bottom\">\n {footerGroups.map((group) => {\n const {key: footerBottomGroupKey, ...footerBottomGroupProps} = group.getFooterGroupProps(\n getTableElementProps(getFooterGroupProps),\n );\n return (\n <TR key={footerBottomGroupKey} {...footerBottomGroupProps}>\n {group.headers.map((column) => {\n const {key: footerBottomColumnKey, ...footerBottomTdProps} = column.getFooterProps(\n getTableElementProps(getFooterProps, mainCellGetter),\n );\n return (\n <TD key={footerBottomColumnKey} {...footerBottomTdProps}>\n {column.render('Footer')}\n </TD>\n );\n })}\n </TR>\n );\n })}\n </TFoot>\n )}\n </TableCore>\n </TableContent>\n </TableWrapper>\n {!isLoading && !data.length && noDataMessage}\n {pagination}\n </TableRoot>\n );\n};\n\nexport {Table};\n","import React, {FunctionComponent, useMemo} from 'react';\nimport {Column} from 'react-table';\nimport {DefaultObject, LoadingState} from './types';\n\nconst useLoadingState = (\n showLoadingState: boolean,\n loading: boolean,\n pageSize: number,\n columns: Column<DefaultObject>[],\n LoadingCellComponent: FunctionComponent<DefaultObject>,\n): LoadingState => {\n const loadingColumns: Column<DefaultObject>[] | undefined = useMemo(\n () =>\n showLoadingState && loading\n ? columns.map((column: Column<DefaultObject>) => {\n const loadingColumn: Column<DefaultObject> = {\n ...column,\n Cell: () => <LoadingCellComponent />,\n };\n\n return loadingColumn;\n })\n : [],\n [columns, loading, showLoadingState],\n );\n\n const loadingData = useMemo(() => {\n if (showLoadingState && loading && columns && columns.length > 0) {\n const dataObject: DefaultObject = {};\n const dataArray: DefaultObject[] = [];\n\n for (let i = 0; i < columns.length; i += 1) {\n dataObject[`empty_${i}`] = '';\n }\n for (let i = 0; i < pageSize; i += 1) {\n dataArray.push(dataObject);\n }\n\n return dataArray;\n }\n\n return [];\n }, [columns, loading, pageSize, showLoadingState]);\n\n return {\n // @ts-ignore\n loadingColumns,\n loadingData,\n };\n};\n\nexport default useLoadingState;\n"],"names":["FOOTER_PLACEMENT","defaultGetter","props","cellGetter","_ref","_cell$column","cell","_extends","align","column","mainCellGetter","_ref2","getTableElementProps","userGetter","getter","meta","getTableRowProps","getTableCellProps","loadingAnimation","keyframes","_templateObject","_taggedTemplateLiteralLoose","TableLoading","styled","div","_templateObject2","isLoading","css","_templateObject3","TableLoadingInner","_templateObject4","TableWrapper","_templateObject5","TableRoot","_templateObject6","fontNormal","TableContent","_templateObject7","TableCore","_templateObject8","HeadCell","_templateObject9","TD","_templateObject0","_templateObject1","EmptyStateCell","_templateObject10","spacing","gray95","white","TH","_templateObject11","THead","_templateObject12","black","TRGroup","_templateObject13","TR","_templateObject14","TBody","_templateObject15","gray80","TFoot","_templateObject16","TResizer","_templateObject17","calculateNewClassNames","tableNode","tableWrapperNode","tableRect","getBoundingClientRect","tableWrapperRect","newClassName","tableRectLeft","Math","floor","left","tableRectRight","right","tableWrapperRectLeft","tableWrapperRectRight","push","newClassNameList","classList","remove","add","apply","changeClassName","_TableRoot","_TableWrapper","_TableContent","_HeadCell","_TableLoading","_TableLoadingInner","_TD","_TableCore","_THead","_TR","_TH","_TBody","_TRGroup","_TFoot","_TResizer","defaultProps","hasDefaultPagination","footerPlacement","loadingMessage","labelPerPage","parentElementId","tableContentId","showLoadingState","initialState","LoadingCellComponent","_EmptyStateCell","getRowPreProps","isEnableRowSelect","selectColumnProps","noDataMessage","isFunction","reference","columns","data","totalItems","fetchData","controlledPagination","_ref$initialState","_ref$isLoading","_ref$loadingMessage","_ref$labelPerPage","_ref$footerPlacement","onSortedChange","_ref$hasDefaultPagina","onSelectRowsChange","_ref$parentElementId","_ref$tableContentId","_ref$LoadingCellCompo","PaginationComponent","_ref$getRowPreProps","getTableProps","getHeaderGroupProps","getHeaderProps","getRowProps","getCellProps","getFooterProps","getFooterGroupProps","_ref$showLoadingState","_ref$noDataMessage","rowSubComponent","_ref$isEnableRowSelec","_ref$selectColumnProp","memoColumns","useMemo","_useLoadingState","loading","pageSize","loadingColumns","map","Cell","React","loadingData","length","dataObject","dataArray","i","useLoadingState","_controlledPagination","showLoading","hasSelectedRowsAbility","hasManualSortBy","hasControlledPagination","Object","keys","options","disableSortRemove","disableMultiSort","disabledMultiRemove","manualSortBy","_controlledPagination2","_controlledPagination3","pageCount","Error","pageIndex","autoResetPage","manualPagination","_useTable","useTable","useFlexLayout","useSortBy","useExpanded","usePagination","useRowSelect","hooks","newColumn","id","disableSortBy","Header","instance","getToggleAllPageRowsSelectedProps","toggleAllPageRowsSelected","isDisabledAllRows","page","original","filter","Checkbox","elementId","onChange","isChecked","checked","isDisabled","_ref3","row","toggleRowSelected","getToggleRowSelectedProps","Number","isInteger","isEnabled","visibleColumns","tableColumns","concat","useResizeColumns","_getTableProps","headerGroups","footerGroups","setHiddenColumns","rows","prepareRow","rest","_objectWithoutPropertiesLoose","_excluded","selectedFlatRows","setSortBy","canPreviousPage","canNextPage","gotoPage","nextPage","previousPage","setPageSize","_rest$state","state","selectedRowIds","tableRef","useRef","tableWrapperRef","useEffect","ticking","onMousewheel","window","requestAnimationFrame","current","_tableRef$current","addEventListener","_tableRef$current2","removeEventListener","useTableShadow","hiddenColumns","pagination","paginationData","previousPageHandler","nextPageHandler","totalPages","perPage","newPageSize","newPageIndex","paginationAmount","tBodyTr","className","ref","headerGroup","_headerGroup$getHeade","headerGroupKey","key","headerGroupProps","_excluded2","headers","headerProps","getSortByToggleProps","style","canSort","onClick","Boolean","isSortedDesc","desc","extendSortByProps","_column$getHeaderProp","internalProps","getTableElementInternalProps","columnKey","thProps","_excluded3","isSorted","render","ArrowUp","size","Size","Small","color","Color","GrayDark","ArrowDown","getHeadContent","isResizable","getResizerProps","e","preventDefault","stopPropagation","renderResizer","includes","TOP","group","_group$getFooterGroup","footerTopGroupKey","footerTopGroupProps","_excluded4","_column$getFooterProp","footerTopColumnKey","footerTopTdProps","_excluded5","isDelimiterTd","cells","_row$getRowProps","delimiterRowKey","delimiterRowProps","_excluded6","_row$cells$0$getCellP","delimiterCellKey","delimiterCellProps","_excluded7","Fragment","index","colSpan","isExpanded","_row$getRowProps2","rowKey","rowProps","_excluded8","_cell$getCellProps","cellKey","cellProps","_excluded9","BOTTOM","_group$getFooterGroup2","footerBottomGroupKey","footerBottomGroupProps","_excluded0","_column$getFooterProp2","footerBottomColumnKey","footerBottomTdProps","_excluded1"],"mappings":"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"}
|