@propellerads/table 4.8.0 → 5.0.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 +2 -2
- package/dist/table.cjs.development.js +62 -39
- 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 +62 -39
- package/dist/table.esm.js.map +1 -1
- package/dist/types.d.ts +0 -1
- package/package.json +8 -11
- package/src/index.tsx +77 -115
- package/src/propsGetter.tsx +49 -40
- package/src/style.tsx +41 -46
- package/src/types.tsx +117 -105
- package/src/useLoadingState.tsx +14 -9
- package/CHANGELOG.md +0 -85
|
@@ -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, TableState,\n UsePaginationInstanceProps, UsePaginationOptions,\n UsePaginationState,\n UseRowSelectInstanceProps,\n UseRowSelectState, UseSortByColumnProps, UseRowSelectRowProps,\n UseSortByInstanceProps, UseSortByOptions,\n UseTableOptions, 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 isResizableColumns?: 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 = FooterGroupPropGetter<DefaultObject> |\n HeaderGroupPropGetter<DefaultObject> |\n FooterPropGetter<DefaultObject>\n\nexport type GetTableContainerPropsGetter = (userGetter?: TableGetter, getter?: TableGetter) =>\n TablePropGetter<DefaultObject> | TableBodyPropGetter<DefaultObject>\n\nexport type GetTableElementPropsGetter<T> = (userGetter?: ElementGetter, getter?: ElementGetter) => T\n\nexport type GetTableElementInternalPropsGetter =\n (internalProps: DefaultObject, userGetter?: ElementGetter, 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 =\n UseSortByInstanceProps<DefaultObject> &\n UsePaginationInstanceProps<DefaultObject> &\n UseRowSelectInstanceProps<DefaultObject> &\n { state: UseRowSelectState<DefaultObject> & UsePaginationState<DefaultObject>};\n\nexport type TableOptionsProps =\n UseTableOptions<DefaultObject> & UseSortByOptions<DefaultObject> & UsePaginationOptions<DefaultObject> &\n { initialState: Partial<TableState<DefaultObject>> & Partial<UsePaginationState<DefaultObject>> }\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:\n GetTableElementPropsGetter<ElementHeaderFooterPropGetter> = (userGetter, getter = defaultGetter) => {\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:\n GetTableElementPropsGetter<ElementRowPropGetter> = (userGetter, getter = defaultGetter) => {\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:\n GetTableElementPropsGetter<ElementCellPropGetter> = (userGetter, getter = defaultGetter) => {\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:\n GetTableElementInternalPropsGetter = (internalProps, userGetter, getter = defaultGetter) => {\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, {\n keyframes, css, CSSObject,\n} from 'styled-components';\nimport {\n fontNormal,\n white,\n black,\n spacing,\n gray80,\n gray95,\n} 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 }) => props.isLoading && 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 }) => align && 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, {\n FunctionComponent, useEffect, useMemo, useRef,\n} 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 {\n ArrowDown, ArrowUp, COLOR, SIZE,\n} 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,\n TableWrapper,\n TableContent,\n HeadCell,\n TableLoading,\n TableLoadingInner,\n TD,\n TableCore,\n THead,\n TR,\n TH,\n TBody,\n TRGroup,\n TFoot,\n EmptyStateCell,\n TResizer,\n} from './style';\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 getHeadContent(column: ColumnWithSort) {\n if (column.isSorted && column.isSortedDesc) {\n return (\n <HeadCell>\n {column.render('Header')}\n <ArrowDown size={SIZE.SMALL} color={COLOR.GRAY_DARK} />\n </HeadCell>\n );\n }\n\n if (column.isSorted && !column.isSortedDesc) {\n return (\n <HeadCell>\n {column.render('Header')}\n <ArrowUp size={SIZE.SMALL} color={COLOR.GRAY_DARK} />\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 isResizableColumns,\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\n && controlledPagination\n && Object.keys(controlledPagination).length > 0;\n\n const options: TableOptionsProps = {\n columns: showLoading\n ? (loadingColumns as Column<DefaultObject>[])\n : 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(\n 'You have to pass pageCount in controlledPagination data',\n );\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 {\n getToggleAllPageRowsSelectedProps,\n toggleAllPageRowsSelected,\n page,\n } = 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 {\n id,\n original,\n toggleRowSelected,\n getToggleRowSelectedProps,\n } = 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 hooks.visibleColumns.push((tableColumns: Array<StandardColumn>) => [\n newColumn,\n ...tableColumns,\n ]);\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?.(\n selectedFlatRows?.map((row: StandardRow) => row.original).filter(isEnableRowSelect),\n );\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\n isLoading={!showLoadingState && isLoading}\n className=\"table-loading\"\n >\n <TableLoadingInner>{loadingMessage}</TableLoadingInner>\n </TableLoading>\n <TableWrapper ref={tableWrapperRef} className=\"table-wrapper\">\n <TableContent id={tableContentId} className=\"table-content\">\n <TableCore\n {..._getTableProps(getTableBodyProps(getTableProps))}\n ref={tableRef}\n >\n <THead className=\"table-head\" data-role=\"table-head\">\n {headerGroups.map((headerGroup) => (\n <TR\n {...headerGroup.getHeaderGroupProps(\n getTableElementProps(getHeaderGroupProps),\n )}\n >\n {headerGroup.headers.map((column) => {\n const headerProps = extendSortByProps(\n column,\n ) as DefaultObject;\n\n return (\n <TH\n {...column.getHeaderProps(\n getTableElementInternalProps(\n headerProps,\n getHeaderProps,\n mainCellGetter,\n ),\n )}\n >\n {getHeadContent(column)}\n {isResizableColumns && (\n <TResizer\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n {...column.getResizerProps()}\n onClick={(e) => {\n e.preventDefault();\n e.stopPropagation();\n }}\n />\n )}\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\n {...group.getFooterGroupProps(\n getTableElementProps(getFooterGroupProps),\n )}\n >\n {group.headers.map((column) => (\n <TD\n {...column.getFooterProps(\n getTableElementProps(getFooterProps, mainCellGetter),\n )}\n >\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 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(\n getTableCellProps(getCellProps, cellGetter),\n )}\n >\n <strong>{row.cells[0].render('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\n {...cell.getCellProps(\n getTableCellProps(getCellProps, cellGetter),\n )}\n >\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\n {...group.getFooterGroupProps(\n getTableElementProps(getFooterGroupProps),\n )}\n >\n {group.headers.map((column) => (\n <TD\n {...column.getFooterProps(\n getTableElementProps(getFooterProps, mainCellGetter),\n )}\n >\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(() => (showLoadingState && loading ? columns\n .map((column: Column<DefaultObject>) => {\n const loadingColumn: Column<DefaultObject> = {\n ...column,\n Cell: () => <LoadingCellComponent />,\n };\n\n return loadingColumn;\n }) : []), [columns, loading, showLoadingState]);\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 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","changeClassName","defaultGetter","props","cellGetter","cell","align","column","_cell$column","mainCellGetter","getTableElementProps","userGetter","getter","meta","getTableCellProps","loadingAnimation","keyframes","TableLoading","styled","div","isLoading","css","TableLoadingInner","TableWrapper","TableRoot","fontNormal","TableContent","TableCore","HeadCell","TD","EmptyStateCell","spacing","gray95","white","TH","THead","black","TRGroup","TR","TBody","gray80","TFoot","TResizer","defaultProps","hasDefaultPagination","footerPlacement","loadingMessage","labelPerPage","parentElementId","tableContentId","showLoadingState","initialState","LoadingCellComponent","getRowPreProps","isEnableRowSelect","selectColumnProps","noDataMessage","isFunction","reference","Table","columns","data","totalItems","fetchData","controlledPagination","onSortedChange","onSelectRowsChange","PaginationComponent","getTableProps","getHeaderGroupProps","getHeaderProps","getRowProps","getCellProps","getFooterProps","getFooterGroupProps","rowSubComponent","isResizableColumns","memoColumns","useMemo","loading","pageSize","loadingColumns","map","Cell","React","loadingData","length","dataObject","dataArray","i","useLoadingState","showLoading","hasSelectedRowsAbility","hasManualSortBy","hasControlledPagination","Object","keys","options","disableSortRemove","disableMultiSort","disabledMultiRemove","manualSortBy","pageCount","Error","pageIndex","autoResetPage","manualPagination","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","useResizeColumns","_getTableProps","headerGroups","footerGroups","setHiddenColumns","rows","prepareRow","rest","selectedFlatRows","setSortBy","canPreviousPage","canNextPage","gotoPage","nextPage","previousPage","setPageSize","state","selectedRowIds","tableRef","useRef","tableWrapperRef","useEffect","ticking","onMousewheel","window","requestAnimationFrame","current","addEventListener","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","ArrowDown","size","SIZE","SMALL","color","COLOR","GRAY_DARK","ArrowUp","getHeadContent","getResizerProps","e","preventDefault","stopPropagation","includes","TOP","group","Fragment","key","index","getTableRowProps","isDelimiterTd","colSpan","cells","isExpanded","BOTTOM"],"mappings":"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"}
|
|
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 <ArrowDown size={SIZE.SMALL} color={COLOR.GRAY_DARK} />\n </HeadCell>\n );\n }\n\n if (column.isSorted && !column.isSortedDesc) {\n return (\n <HeadCell>\n {column.render('Header')}\n <ArrowUp size={SIZE.SMALL} color={COLOR.GRAY_DARK} />\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 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 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","changeClassName","defaultGetter","props","cellGetter","cell","align","column","_cell$column","mainCellGetter","getTableElementProps","userGetter","getter","meta","getTableRowProps","getTableCellProps","loadingAnimation","keyframes","TableLoading","styled","div","isLoading","css","TableLoadingInner","TableWrapper","TableRoot","fontNormal","TableContent","TableCore","HeadCell","TD","EmptyStateCell","spacing","gray95","white","TH","THead","black","TRGroup","_TableRoot","_TableWrapper","_TableContent","_HeadCell","_TableLoading","_TableLoadingInner","_TD","_TableCore","_THead","TR","_TH","TBody","gray80","_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","loading","pageSize","loadingColumns","map","Cell","React","loadingData","length","dataObject","dataArray","i","useLoadingState","showLoading","hasSelectedRowsAbility","hasManualSortBy","hasControlledPagination","Object","keys","options","disableSortRemove","disableMultiSort","disabledMultiRemove","manualSortBy","pageCount","Error","pageIndex","autoResetPage","manualPagination","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","useResizeColumns","_getTableProps","headerGroups","footerGroups","setHiddenColumns","rows","prepareRow","rest","selectedFlatRows","setSortBy","canPreviousPage","canNextPage","gotoPage","nextPage","previousPage","setPageSize","state","selectedRowIds","tableRef","useRef","tableWrapperRef","useEffect","ticking","onMousewheel","window","requestAnimationFrame","current","addEventListener","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","ArrowDown","size","SIZE","SMALL","color","COLOR","GRAY_DARK","ArrowUp","getHeadContent","isResizable","getResizerProps","e","preventDefault","stopPropagation","renderResizer","includes","TOP","group","isDelimiterTd","cells","Fragment","key","index","colSpan","isExpanded","BOTTOM"],"mappings":"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"}
|
package/dist/table.esm.js
CHANGED
|
@@ -246,7 +246,7 @@ var getTableElementInternalProps = function getTableElementInternalProps(interna
|
|
|
246
246
|
};
|
|
247
247
|
|
|
248
248
|
function _templateObject19() {
|
|
249
|
-
var data = _taggedTemplateLiteralLoose(["\n display: inline-block;\n position: absolute;\n right: 5px;\n top: 0;\n z-index: 1;\n touch-action: none;\n
|
|
249
|
+
var data = _taggedTemplateLiteralLoose(["\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: '\u2194';\n position: absolute;\n right: 0;\n top: 0;\n }\n"]);
|
|
250
250
|
|
|
251
251
|
_templateObject19 = function _templateObject19() {
|
|
252
252
|
return data;
|
|
@@ -296,7 +296,7 @@ function _templateObject15() {
|
|
|
296
296
|
}
|
|
297
297
|
|
|
298
298
|
function _templateObject14() {
|
|
299
|
-
var data = _taggedTemplateLiteralLoose(["\n flex: 1 0 auto;\n display: flex;\n flex-direction: column;\n user-select: none;\n
|
|
299
|
+
var data = _taggedTemplateLiteralLoose(["\n flex: 1 0 auto;\n display: flex;\n flex-direction: column;\n user-select: none;\n\n ", ", ", " {\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: ", ";\n font-weight: 500;\n outline: none;\n }\n"]);
|
|
300
300
|
|
|
301
301
|
_templateObject14 = function _templateObject14() {
|
|
302
302
|
return data;
|
|
@@ -326,7 +326,7 @@ function _templateObject12() {
|
|
|
326
326
|
}
|
|
327
327
|
|
|
328
328
|
function _templateObject11() {
|
|
329
|
-
var data = _taggedTemplateLiteralLoose(["\n
|
|
329
|
+
var data = _taggedTemplateLiteralLoose(["\n text-align: ", ";\n "]);
|
|
330
330
|
|
|
331
331
|
_templateObject11 = function _templateObject11() {
|
|
332
332
|
return data;
|
|
@@ -336,7 +336,7 @@ function _templateObject11() {
|
|
|
336
336
|
}
|
|
337
337
|
|
|
338
338
|
function _templateObject10() {
|
|
339
|
-
var data = _taggedTemplateLiteralLoose(["\n
|
|
339
|
+
var data = _taggedTemplateLiteralLoose(["\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 ", "\n"]);
|
|
340
340
|
|
|
341
341
|
_templateObject10 = function _templateObject10() {
|
|
342
342
|
return data;
|
|
@@ -356,7 +356,7 @@ function _templateObject9() {
|
|
|
356
356
|
}
|
|
357
357
|
|
|
358
358
|
function _templateObject8() {
|
|
359
|
-
var data = _taggedTemplateLiteralLoose(["\n flex: auto 1;\n display: flex;\n flex-direction: column;\n align-items: stretch
|
|
359
|
+
var data = _taggedTemplateLiteralLoose(["\n flex: auto 1;\n display: flex;\n flex-direction: column;\n align-items: stretch;\n border-collapse: collapse;\n"]);
|
|
360
360
|
|
|
361
361
|
_templateObject8 = function _templateObject8() {
|
|
362
362
|
return data;
|
|
@@ -386,7 +386,7 @@ function _templateObject6() {
|
|
|
386
386
|
}
|
|
387
387
|
|
|
388
388
|
function _templateObject5() {
|
|
389
|
-
var data = _taggedTemplateLiteralLoose(["\n position: relative;\n overflow: hidden;\n
|
|
389
|
+
var data = _taggedTemplateLiteralLoose(["\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"]);
|
|
390
390
|
|
|
391
391
|
_templateObject5 = function _templateObject5() {
|
|
392
392
|
return data;
|
|
@@ -406,7 +406,7 @@ function _templateObject4() {
|
|
|
406
406
|
}
|
|
407
407
|
|
|
408
408
|
function _templateObject3() {
|
|
409
|
-
var data = _taggedTemplateLiteralLoose(["\n
|
|
409
|
+
var data = _taggedTemplateLiteralLoose(["\n opacity: 1;\n z-index: 2;\n pointer-events: all;\n "]);
|
|
410
410
|
|
|
411
411
|
_templateObject3 = function _templateObject3() {
|
|
412
412
|
return data;
|
|
@@ -416,7 +416,7 @@ function _templateObject3() {
|
|
|
416
416
|
}
|
|
417
417
|
|
|
418
418
|
function _templateObject2() {
|
|
419
|
-
var data = _taggedTemplateLiteralLoose(["\n
|
|
419
|
+
var data = _taggedTemplateLiteralLoose(["\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 ", "\n"]);
|
|
420
420
|
|
|
421
421
|
_templateObject2 = function _templateObject2() {
|
|
422
422
|
return data;
|
|
@@ -457,6 +457,23 @@ var TBody = /*#__PURE__*/styled.div( /*#__PURE__*/_templateObject17(), gray80, s
|
|
|
457
457
|
var TFoot = /*#__PURE__*/styled.div( /*#__PURE__*/_templateObject18(), gray95);
|
|
458
458
|
var TResizer = /*#__PURE__*/styled.div( /*#__PURE__*/_templateObject19());
|
|
459
459
|
|
|
460
|
+
var TableRoot$1 = TableRoot;
|
|
461
|
+
var TableWrapper$1 = TableWrapper;
|
|
462
|
+
var TableContent$1 = TableContent;
|
|
463
|
+
var HeadCell$1 = HeadCell;
|
|
464
|
+
var TableLoading$1 = TableLoading;
|
|
465
|
+
var TableLoadingInner$1 = TableLoadingInner;
|
|
466
|
+
var TD$1 = TD;
|
|
467
|
+
var TableCore$1 = TableCore;
|
|
468
|
+
var THead$1 = THead;
|
|
469
|
+
var TR$1 = TR;
|
|
470
|
+
var TH$1 = TH;
|
|
471
|
+
var TBody$1 = TBody;
|
|
472
|
+
var TRGroup$1 = TRGroup;
|
|
473
|
+
var TFoot$1 = TFoot;
|
|
474
|
+
var EmptyStateCell$1 = EmptyStateCell;
|
|
475
|
+
var TResizer$1 = TResizer;
|
|
476
|
+
|
|
460
477
|
var isEnableRowSelectDefault = function isEnableRowSelectDefault() {
|
|
461
478
|
return true;
|
|
462
479
|
};
|
|
@@ -477,7 +494,7 @@ var defaultProps = {
|
|
|
477
494
|
tableContentId: '',
|
|
478
495
|
showLoadingState: false,
|
|
479
496
|
initialState: {},
|
|
480
|
-
LoadingCellComponent: EmptyStateCell,
|
|
497
|
+
LoadingCellComponent: EmptyStateCell$1,
|
|
481
498
|
getRowPreProps: getRowPrePropsDefault,
|
|
482
499
|
isEnableRowSelect: isEnableRowSelectDefault,
|
|
483
500
|
selectColumnProps: selectColumnPropsDefault,
|
|
@@ -493,16 +510,29 @@ function isFunction(reference) {
|
|
|
493
510
|
return typeof reference === 'function';
|
|
494
511
|
}
|
|
495
512
|
|
|
513
|
+
function renderResizer(column) {
|
|
514
|
+
if (column.isResizable) {
|
|
515
|
+
return React.createElement(TResizer$1, Object.assign({}, column.getResizerProps(), {
|
|
516
|
+
onClick: function onClick(e) {
|
|
517
|
+
e.preventDefault();
|
|
518
|
+
e.stopPropagation();
|
|
519
|
+
}
|
|
520
|
+
}));
|
|
521
|
+
}
|
|
522
|
+
|
|
523
|
+
return null;
|
|
524
|
+
}
|
|
525
|
+
|
|
496
526
|
function getHeadContent(column) {
|
|
497
527
|
if (column.isSorted && column.isSortedDesc) {
|
|
498
|
-
return React.createElement(HeadCell, null, column.render('Header'), React.createElement(ArrowDown, {
|
|
528
|
+
return React.createElement(HeadCell$1, null, column.render('Header'), React.createElement(ArrowDown, {
|
|
499
529
|
size: SIZE.SMALL,
|
|
500
530
|
color: COLOR.GRAY_DARK
|
|
501
531
|
}));
|
|
502
532
|
}
|
|
503
533
|
|
|
504
534
|
if (column.isSorted && !column.isSortedDesc) {
|
|
505
|
-
return React.createElement(HeadCell, null, column.render('Header'), React.createElement(ArrowUp, {
|
|
535
|
+
return React.createElement(HeadCell$1, null, column.render('Header'), React.createElement(ArrowUp, {
|
|
506
536
|
size: SIZE.SMALL,
|
|
507
537
|
color: COLOR.GRAY_DARK
|
|
508
538
|
}));
|
|
@@ -543,8 +573,7 @@ var Table = function Table(props) {
|
|
|
543
573
|
noDataMessage = props.noDataMessage,
|
|
544
574
|
rowSubComponent = props.rowSubComponent,
|
|
545
575
|
isEnableRowSelect = props.isEnableRowSelect,
|
|
546
|
-
selectColumnProps = props.selectColumnProps
|
|
547
|
-
isResizableColumns = props.isResizableColumns;
|
|
576
|
+
selectColumnProps = props.selectColumnProps;
|
|
548
577
|
var memoColumns = useMemo(function () {
|
|
549
578
|
return columns;
|
|
550
579
|
}, [columns]);
|
|
@@ -750,42 +779,35 @@ var Table = function Table(props) {
|
|
|
750
779
|
}
|
|
751
780
|
|
|
752
781
|
var tBodyTr = hasControlledPagination || hasDefaultPagination ? page : rows;
|
|
753
|
-
return React.createElement(TableRoot, {
|
|
782
|
+
return React.createElement(TableRoot$1, {
|
|
754
783
|
className: "table-root"
|
|
755
|
-
}, React.createElement(TableLoading, {
|
|
784
|
+
}, React.createElement(TableLoading$1, {
|
|
756
785
|
isLoading: !showLoadingState && isLoading,
|
|
757
786
|
className: "table-loading"
|
|
758
|
-
}, React.createElement(TableLoadingInner, null, loadingMessage)), React.createElement(TableWrapper, {
|
|
787
|
+
}, React.createElement(TableLoadingInner$1, null, loadingMessage)), React.createElement(TableWrapper$1, {
|
|
759
788
|
ref: tableWrapperRef,
|
|
760
789
|
className: "table-wrapper"
|
|
761
|
-
}, React.createElement(TableContent, {
|
|
790
|
+
}, React.createElement(TableContent$1, {
|
|
762
791
|
id: tableContentId,
|
|
763
792
|
className: "table-content"
|
|
764
|
-
}, React.createElement(TableCore, Object.assign({}, _getTableProps(getTableProps(getTableProps$1)), {
|
|
793
|
+
}, React.createElement(TableCore$1, Object.assign({}, _getTableProps(getTableProps(getTableProps$1)), {
|
|
765
794
|
ref: tableRef
|
|
766
|
-
}), React.createElement(THead, {
|
|
795
|
+
}), React.createElement(THead$1, {
|
|
767
796
|
className: "table-head",
|
|
768
797
|
"data-role": "table-head"
|
|
769
798
|
}, headerGroups.map(function (headerGroup) {
|
|
770
|
-
return React.createElement(TR, Object.assign({}, headerGroup.getHeaderGroupProps(getTableElementProps(getHeaderGroupProps))), headerGroup.headers.map(function (column) {
|
|
799
|
+
return React.createElement(TR$1, Object.assign({}, headerGroup.getHeaderGroupProps(getTableElementProps(getHeaderGroupProps))), headerGroup.headers.map(function (column) {
|
|
771
800
|
var headerProps = extendSortByProps(column);
|
|
772
|
-
return React.createElement(TH, Object.assign({}, column.getHeaderProps(getTableElementInternalProps(headerProps, getHeaderProps, mainCellGetter))), getHeadContent(column),
|
|
773
|
-
// @ts-ignore
|
|
774
|
-
, Object.assign({}, column.getResizerProps(), {
|
|
775
|
-
onClick: function onClick(e) {
|
|
776
|
-
e.preventDefault();
|
|
777
|
-
e.stopPropagation();
|
|
778
|
-
}
|
|
779
|
-
})));
|
|
801
|
+
return React.createElement(TH$1, Object.assign({}, column.getHeaderProps(getTableElementInternalProps(headerProps, getHeaderProps, mainCellGetter))), getHeadContent(column), renderResizer(column));
|
|
780
802
|
}));
|
|
781
|
-
})), footerPlacement.includes(FOOTER_PLACEMENT.TOP) && React.createElement(TFoot, {
|
|
803
|
+
})), footerPlacement.includes(FOOTER_PLACEMENT.TOP) && React.createElement(TFoot$1, {
|
|
782
804
|
className: "table-footer-top",
|
|
783
805
|
"data-role": "table-footer-top"
|
|
784
806
|
}, footerGroups.map(function (group) {
|
|
785
|
-
return React.createElement(TR, Object.assign({}, group.getFooterGroupProps(getTableElementProps(getFooterGroupProps))), group.headers.map(function (column) {
|
|
786
|
-
return React.createElement(TD, Object.assign({}, column.getFooterProps(getTableElementProps(getFooterProps, mainCellGetter))), column.render('Footer'));
|
|
807
|
+
return React.createElement(TR$1, Object.assign({}, group.getFooterGroupProps(getTableElementProps(getFooterGroupProps))), group.headers.map(function (column) {
|
|
808
|
+
return React.createElement(TD$1, Object.assign({}, column.getFooterProps(getTableElementProps(getFooterProps, mainCellGetter))), column.render('Footer'));
|
|
787
809
|
}));
|
|
788
|
-
})), React.createElement(TBody, {
|
|
810
|
+
})), React.createElement(TBody$1, {
|
|
789
811
|
className: "table-body",
|
|
790
812
|
"data-role": "table-body"
|
|
791
813
|
}, tBodyTr.map(function (row) {
|
|
@@ -795,24 +817,25 @@ var Table = function Table(props) {
|
|
|
795
817
|
isDelimiterTd = _getRowPreProps.isDelimiterTd;
|
|
796
818
|
|
|
797
819
|
if (isDelimiterTd) {
|
|
820
|
+
var cell = row.cells[0].render('Cell');
|
|
798
821
|
return React.createElement(React.Fragment, {
|
|
799
822
|
key: "group_" + row.index
|
|
800
|
-
}, React.createElement(TRGroup, null, React.createElement(TR, Object.assign({}, row.getRowProps(getTableRowProps(getRowProps))), React.createElement(TD, Object.assign({
|
|
823
|
+
}, React.createElement(TRGroup$1, null, React.createElement(TR$1, Object.assign({}, row.getRowProps(getTableRowProps(getRowProps))), React.createElement(TD$1, Object.assign({
|
|
801
824
|
colSpan: visibleColumns.length
|
|
802
|
-
}, row.cells[0].getCellProps(getTableCellProps(getCellProps, cellGetter))), React.createElement("strong", null,
|
|
825
|
+
}, row.cells[0].getCellProps(getTableCellProps(getCellProps, cellGetter))), React.createElement("strong", null, cell)))), (row === null || row === void 0 ? void 0 : row.isExpanded) && rowSubComponent && rowSubComponent(row));
|
|
803
826
|
}
|
|
804
827
|
|
|
805
828
|
return React.createElement(React.Fragment, {
|
|
806
829
|
key: "group_" + row.index
|
|
807
|
-
}, React.createElement(TRGroup, null, React.createElement(TR, Object.assign({}, row.getRowProps(getTableRowProps(getRowProps))), row.cells.map(function (cell) {
|
|
808
|
-
return React.createElement(TD, Object.assign({}, cell.getCellProps(getTableCellProps(getCellProps, cellGetter))), cell.render('Cell'));
|
|
830
|
+
}, React.createElement(TRGroup$1, null, React.createElement(TR$1, Object.assign({}, row.getRowProps(getTableRowProps(getRowProps))), row.cells.map(function (cell) {
|
|
831
|
+
return React.createElement(TD$1, Object.assign({}, cell.getCellProps(getTableCellProps(getCellProps, cellGetter))), cell.render('Cell'));
|
|
809
832
|
}))), (row === null || row === void 0 ? void 0 : row.isExpanded) && rowSubComponent && rowSubComponent(row));
|
|
810
|
-
})), footerPlacement.includes(FOOTER_PLACEMENT.BOTTOM) && React.createElement(TFoot, {
|
|
833
|
+
})), footerPlacement.includes(FOOTER_PLACEMENT.BOTTOM) && React.createElement(TFoot$1, {
|
|
811
834
|
className: "table-footer-bottom",
|
|
812
835
|
"data-role": "table-footer-bottom"
|
|
813
836
|
}, footerGroups.map(function (group) {
|
|
814
|
-
return React.createElement(TR, Object.assign({}, group.getFooterGroupProps(getTableElementProps(getFooterGroupProps))), group.headers.map(function (column) {
|
|
815
|
-
return React.createElement(TD, Object.assign({}, column.getFooterProps(getTableElementProps(getFooterProps, mainCellGetter))), column.render('Footer'));
|
|
837
|
+
return React.createElement(TR$1, Object.assign({}, group.getFooterGroupProps(getTableElementProps(getFooterGroupProps))), group.headers.map(function (column) {
|
|
838
|
+
return React.createElement(TD$1, Object.assign({}, column.getFooterProps(getTableElementProps(getFooterProps, mainCellGetter))), column.render('Footer'));
|
|
816
839
|
}));
|
|
817
840
|
}))))), !isLoading && !data.length && noDataMessage, pagination);
|
|
818
841
|
};
|