@razorpay/blade 11.0.0 → 11.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/lib/web/development/components/Table/Table.web.js +9 -1
- package/build/lib/web/development/components/Table/Table.web.js.map +1 -1
- package/build/lib/web/development/components/Table/TableContext.js +2 -0
- package/build/lib/web/development/components/Table/TableContext.js.map +1 -1
- package/build/lib/web/development/components/Table/TablePagination.web.js +18 -3
- package/build/lib/web/development/components/Table/TablePagination.web.js.map +1 -1
- package/build/lib/web/development/components/Tooltip/Tooltip.web.js +4 -11
- package/build/lib/web/development/components/Tooltip/Tooltip.web.js.map +1 -1
- package/build/lib/web/production/components/Table/Table.web.js +9 -1
- package/build/lib/web/production/components/Table/Table.web.js.map +1 -1
- package/build/lib/web/production/components/Table/TableContext.js +2 -0
- package/build/lib/web/production/components/Table/TableContext.js.map +1 -1
- package/build/lib/web/production/components/Table/TablePagination.web.js +18 -3
- package/build/lib/web/production/components/Table/TablePagination.web.js.map +1 -1
- package/build/lib/web/production/components/Tooltip/Tooltip.web.js +4 -11
- package/build/lib/web/production/components/Tooltip/Tooltip.web.js.map +1 -1
- package/build/types/components/index.d.ts +45 -9
- package/build/types/components/index.native.d.ts +44 -8
- package/package.json +1 -1
|
@@ -136,6 +136,10 @@ var _Table = function _Table(_ref3) {
|
|
|
136
136
|
_React$useState6 = _slicedToArray(_React$useState5, 2),
|
|
137
137
|
totalItems = _React$useState6[0],
|
|
138
138
|
setTotalItems = _React$useState6[1];
|
|
139
|
+
var _React$useState7 = React__default.useState('client'),
|
|
140
|
+
_React$useState8 = _slicedToArray(_React$useState7, 2),
|
|
141
|
+
paginationType = _React$useState8[0],
|
|
142
|
+
setPaginationType = _React$useState8[1];
|
|
139
143
|
// Need to make header is sticky if first column is sticky otherwise the first header cell will not be sticky
|
|
140
144
|
var shouldHeaderBeSticky = isHeaderSticky !== null && isHeaderSticky !== void 0 ? isHeaderSticky : isFirstColumnSticky;
|
|
141
145
|
var backgroundColor = tableBackgroundColor;
|
|
@@ -236,6 +240,8 @@ var _Table = function _Table(_ref3) {
|
|
|
236
240
|
page: 0,
|
|
237
241
|
size: tablePagination.defaultPageSize
|
|
238
242
|
}
|
|
243
|
+
}, {
|
|
244
|
+
isServer: paginationType === 'server'
|
|
239
245
|
});
|
|
240
246
|
var currentPaginationState = useMemo(function () {
|
|
241
247
|
return hasPagination ? {
|
|
@@ -278,9 +284,11 @@ var _Table = function _Table(_ref3) {
|
|
|
278
284
|
showStripedRows: showStripedRows,
|
|
279
285
|
disabledRows: disabledRows,
|
|
280
286
|
setDisabledRows: setDisabledRows,
|
|
287
|
+
paginationType: paginationType,
|
|
288
|
+
setPaginationType: setPaginationType,
|
|
281
289
|
backgroundColor: backgroundColor
|
|
282
290
|
};
|
|
283
|
-
}, [selectionType, selectedRows, totalItems, toggleRowSelectionById, toggleAllRowsSelection, deselectAllRows, rowDensity, toggleSort, currentSortedState, setPaginationPage, setPaginationRowSize, currentPaginationState, showStripedRows, disabledRows, setDisabledRows, backgroundColor]);
|
|
291
|
+
}, [selectionType, selectedRows, totalItems, toggleRowSelectionById, toggleAllRowsSelection, deselectAllRows, rowDensity, toggleSort, currentSortedState, setPaginationPage, setPaginationRowSize, currentPaginationState, showStripedRows, disabledRows, setDisabledRows, paginationType, setPaginationType, backgroundColor]);
|
|
284
292
|
return /*#__PURE__*/jsx(TableContext.Provider, {
|
|
285
293
|
value: tableContext,
|
|
286
294
|
children: isLoading ? /*#__PURE__*/jsx(BaseBox, _objectSpread(_objectSpread(_objectSpread({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Table.web.js","sources":["../../../../../../src/components/Table/Table.web.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useMemo } from 'react';\nimport { Table as ReactTable } from '@table-library/react-table-library/table';\nimport { useTheme as useTableTheme } from '@table-library/react-table-library/theme';\nimport type { MiddlewareFunction } from '@table-library/react-table-library/types/common';\nimport { useSort } from '@table-library/react-table-library/sort';\nimport { usePagination } from '@table-library/react-table-library/pagination';\nimport { SelectTypes, useRowSelect } from '@table-library/react-table-library/select';\nimport styled from 'styled-components';\nimport usePresence from 'use-presence';\nimport type { TableContextType } from './TableContext';\nimport { TableContext } from './TableContext';\nimport { ComponentIds } from './componentIds';\nimport {\n checkboxCellWidth,\n firstColumnStickyHeaderFooterZIndex,\n refreshWrapperZIndex,\n tableBackgroundColor,\n tablePagination,\n} from './tokens';\nimport type { TableProps, TableNode, Identifier } from './types';\nimport { makeBorderSize, makeMotionTime } from '~utils';\nimport { getComponentId, isValidAllowedChildren } from '~utils/isValidAllowedChildren';\nimport { throwBladeError } from '~utils/logger';\nimport type { BoxProps } from '~components/Box';\nimport { getBaseBoxStyles } from '~components/Box/BaseBox/baseBoxStyles';\nimport BaseBox from '~components/Box/BaseBox';\nimport { Spinner } from '~components/Spinner';\nimport { getStyledProps } from '~components/Box/styledProps';\nimport { MetaConstants, metaAttribute } from '~utils/metaAttribute';\nimport { assignWithoutSideEffects } from '~utils/assignWithoutSideEffects';\nimport { useTheme } from '~components/BladeProvider';\nimport getIn from '~utils/lodashButBetter/get';\n\nconst rowSelectType: Record<\n NonNullable<TableProps<unknown>['selectionType']>,\n SelectTypes | undefined\n> = {\n single: SelectTypes.SingleSelect,\n multiple: SelectTypes.MultiSelect,\n none: undefined,\n};\n\n// Get the number of TableHeaderCell components.\n// This is very complicated but the only way to iterate through the structure and get number of header cells.\n// Assuming number of header cells is the same as number of columns\nconst getTableHeaderCellCount = (children: (data: []) => React.ReactElement): number => {\n const tableRootComponent = children([]);\n if (tableRootComponent && React.isValidElement(tableRootComponent)) {\n const tableComponentArray = React.Children.toArray(tableRootComponent);\n if (React.isValidElement(tableComponentArray[0])) {\n const tableComponentArrayChildren = React.Children.toArray(\n tableComponentArray[0].props.children,\n );\n const tableHeader = tableComponentArrayChildren.find(\n (child) => getComponentId(child) === ComponentIds.TableHeader,\n );\n const tableHeaderChildrenArray = React.isValidElement(tableHeader)\n ? React.Children.toArray(tableHeader.props.children)\n : null;\n const tableHeaderRow = tableHeaderChildrenArray?.find(\n (child) => getComponentId(child) === ComponentIds.TableHeaderRow,\n );\n const tableHeaderRowChildrenArray = React.isValidElement(tableHeaderRow)\n ? React.Children.toArray(tableHeaderRow.props.children)\n : null;\n const tableHeaderCells = tableHeaderRowChildrenArray\n ? tableHeaderRowChildrenArray.filter(\n (child) => getComponentId(child) === ComponentIds.TableHeaderCell,\n )\n : null;\n return tableHeaderCells?.length ?? 0;\n }\n }\n return 0;\n};\n\nconst StyledReactTable = styled(ReactTable)<{ $styledProps?: { height?: BoxProps['height'] } }>(\n ({ $styledProps }) => {\n const { theme } = useTheme();\n const styledPropsCSSObject = getBaseBoxStyles({\n theme,\n height: $styledProps?.height,\n });\n\n return {\n '&&&': {\n ...styledPropsCSSObject,\n },\n };\n },\n);\n\nconst RefreshWrapper = styled(BaseBox)<{\n isRefreshSpinnerVisible: boolean;\n isRefreshSpinnerEntering: boolean;\n isRefreshSpinnerExiting: boolean;\n}>(({ isRefreshSpinnerVisible, isRefreshSpinnerEntering, isRefreshSpinnerExiting, theme }) => {\n return {\n opacity: isRefreshSpinnerVisible ? 1 : 0,\n transition: `opacity ${makeMotionTime(theme.motion.duration.quick)} ${\n isRefreshSpinnerEntering\n ? theme.motion.easing.entrance.effective\n : isRefreshSpinnerExiting\n ? theme.motion.easing.exit.effective\n : ''\n }`,\n };\n});\n\nconst _Table = <Item,>({\n children,\n data,\n selectionType = 'none',\n onSelectionChange,\n isHeaderSticky,\n isFooterSticky,\n isFirstColumnSticky,\n rowDensity = 'normal',\n onSortChange,\n sortFunctions,\n toolbar,\n pagination,\n height,\n showStripedRows,\n gridTemplateColumns,\n isLoading = false,\n isRefreshing = false,\n ...styledProps\n}: TableProps<Item>): React.ReactElement => {\n const { theme } = useTheme();\n const [selectedRows, setSelectedRows] = React.useState<TableNode<unknown>['id'][]>([]);\n const [disabledRows, setDisabledRows] = React.useState<TableNode<unknown>['id'][]>([]);\n const [totalItems, setTotalItems] = React.useState(data.nodes.length || 0);\n // Need to make header is sticky if first column is sticky otherwise the first header cell will not be sticky\n const shouldHeaderBeSticky = isHeaderSticky ?? isFirstColumnSticky;\n const backgroundColor = tableBackgroundColor;\n\n const {\n isEntering: isRefreshSpinnerEntering,\n isMounted: isRefreshSpinnerMounted,\n isExiting: isRefreshSpinnerExiting,\n isVisible: isRefreshSpinnerVisible,\n } = usePresence(isRefreshing, {\n transitionDuration: theme.motion.duration.quick,\n });\n\n // Table Theme\n const columnCount = getTableHeaderCellCount(children);\n const firstColumnStickyHeaderCellCSS = isFirstColumnSticky\n ? `\n &:nth-of-type(1) {\n left: 0 !important;\n position: sticky !important;\n z-index: ${firstColumnStickyHeaderFooterZIndex} !important;\n }\n ${\n selectionType === 'multiple' &&\n `&:nth-of-type(2) {\n left: ${checkboxCellWidth}px !important;\n position: sticky !important;\n z-index: ${firstColumnStickyHeaderFooterZIndex} !important;\n }\n `\n }`\n : '';\n const firstColumnStickyFooterCellCSS = isFirstColumnSticky\n ? `\n &:nth-of-type(1) {\n left: 0 !important;\n position: sticky !important;\n z-index: ${firstColumnStickyHeaderFooterZIndex} !important;\n }\n ${\n selectionType === 'multiple' &&\n `&:nth-of-type(2) {\n left: ${checkboxCellWidth}px !important;\n position: sticky !important;\n z-index: ${firstColumnStickyHeaderFooterZIndex} !important;\n }\n `\n }`\n : '';\n const firstColumnStickyBodyCellCSS = isFirstColumnSticky\n ? `\n &:nth-of-type(1) {\n left: 0 !important;\n position: sticky !important;\n }\n ${\n selectionType === 'multiple' &&\n `&:nth-of-type(2) {\n left: ${checkboxCellWidth}px !important;\n position: sticky !important;\n }\n `\n }`\n : '';\n\n const tableTheme = useTableTheme({\n Table: `\n height:${isFooterSticky ? `100%` : undefined};\n border: ${makeBorderSize(theme.border.width.thin)} solid ${\n theme.colors.surface.border.gray.muted\n };\n --data-table-library_grid-template-columns: ${\n gridTemplateColumns ??\n ` ${\n selectionType === 'multiple' ? 'min-content' : ''\n } repeat(${columnCount},minmax(100px, 1fr)) !important;`\n } !important;\n background-color: ${getIn(theme.colors, backgroundColor)};\n `,\n HeaderCell: `\n position: ${shouldHeaderBeSticky ? 'sticky' : 'relative'};\n top: ${shouldHeaderBeSticky ? '0' : undefined};\n ${firstColumnStickyHeaderCellCSS}\n `,\n Cell: `\n ${firstColumnStickyBodyCellCSS}\n `,\n FooterCell: `\n position: ${isFooterSticky ? 'sticky' : 'relative'};\n bottom: ${isFooterSticky ? '0' : undefined};\n ${firstColumnStickyFooterCellCSS}\n `,\n });\n\n useEffect(() => {\n // Get the total number of items\n setTotalItems(data.nodes.length);\n }, [data.nodes]);\n\n // Selection Logic\n const onSelectChange: MiddlewareFunction = (action, state): void => {\n const selectedIDs: Identifier[] = state.id ? [state.id] : state.ids ?? [];\n setSelectedRows(selectedIDs);\n onSelectionChange?.({\n values: data.nodes.filter((node) => selectedIDs.includes(node.id)),\n });\n };\n\n const rowSelectConfig = useRowSelect(\n data,\n {\n onChange: onSelectChange,\n },\n {\n rowSelect: selectionType !== 'none' ? rowSelectType[selectionType] : undefined,\n },\n );\n\n const toggleRowSelectionById = useMemo(\n () => (id: Identifier): void => {\n rowSelectConfig.fns.onToggleById(id);\n },\n [rowSelectConfig.fns],\n );\n\n const deselectAllRows = useMemo(\n () => (): void => {\n rowSelectConfig.fns.onRemoveAll();\n },\n [rowSelectConfig.fns],\n );\n\n const toggleAllRowsSelection = useMemo(\n () => (): void => {\n if (selectedRows.length > 0) {\n rowSelectConfig.fns.onRemoveAll();\n } else {\n const ids = data.nodes\n .map((item: TableNode<Item>) => (disabledRows.includes(item.id) ? null : item.id))\n .filter(Boolean) as Identifier[];\n\n rowSelectConfig.fns.onAddAll(ids);\n }\n },\n [rowSelectConfig.fns, data.nodes, selectedRows, disabledRows],\n );\n\n // Sort Logic\n const handleSortChange: MiddlewareFunction = (action, state) => {\n onSortChange?.({\n sortKey: state.sortKey,\n isSortReversed: state.reverse,\n });\n };\n\n const sort = useSort(\n data,\n {\n onChange: handleSortChange,\n },\n {\n // @ts-expect-error ignore this, if sortFunctions is undefined, it will be ignored\n sortFns: sortFunctions,\n },\n );\n\n const currentSortedState: TableContextType['currentSortedState'] = useMemo(() => {\n return {\n sortKey: sort.state.sortKey,\n isSortReversed: sort.state.reverse,\n sortableColumns: Object.keys(sortFunctions ?? {}),\n };\n }, [sort.state, sortFunctions]);\n\n const toggleSort = useCallback(\n (sortKey: string): void => {\n sort.fns.onToggleSort({\n sortKey,\n });\n },\n [sort.fns],\n );\n\n // Pagination\n\n const hasPagination = Boolean(pagination);\n\n const paginationConfig = usePagination(data, {\n state: {\n page: 0,\n size: tablePagination.defaultPageSize,\n },\n });\n\n const currentPaginationState = useMemo(() => {\n return hasPagination\n ? {\n page: paginationConfig.state.page,\n size: paginationConfig.state.size,\n }\n : undefined;\n }, [paginationConfig.state, hasPagination]);\n\n const setPaginationPage = useCallback(\n (page: number): void => {\n paginationConfig.fns.onSetPage(page);\n },\n [paginationConfig.fns],\n );\n\n const setPaginationRowSize = useCallback(\n (size: number): void => {\n paginationConfig.fns.onSetSize(size);\n },\n [paginationConfig.fns],\n );\n\n // Toolbar Component\n if (__DEV__) {\n if (toolbar && !isValidAllowedChildren(toolbar, ComponentIds.TableToolbar)) {\n throwBladeError({\n message: 'Only TableToolbar component is allowed in the `toolbar` prop',\n moduleName: 'Table',\n });\n }\n }\n\n // Table Context\n const tableContext: TableContextType = useMemo(\n () => ({\n selectionType,\n selectedRows,\n totalItems,\n toggleRowSelectionById,\n toggleAllRowsSelection,\n deselectAllRows,\n rowDensity,\n toggleSort,\n currentSortedState,\n setPaginationPage,\n setPaginationRowSize,\n currentPaginationState,\n showStripedRows,\n disabledRows,\n setDisabledRows,\n backgroundColor,\n }),\n [\n selectionType,\n selectedRows,\n totalItems,\n toggleRowSelectionById,\n toggleAllRowsSelection,\n deselectAllRows,\n rowDensity,\n toggleSort,\n currentSortedState,\n setPaginationPage,\n setPaginationRowSize,\n currentPaginationState,\n showStripedRows,\n disabledRows,\n setDisabledRows,\n backgroundColor,\n ],\n );\n\n return (\n <TableContext.Provider value={tableContext}>\n {isLoading ? (\n <BaseBox\n display=\"flex\"\n flex={1}\n alignItems=\"center\"\n justifyContent=\"center\"\n height={height}\n {...getStyledProps(styledProps)}\n {...metaAttribute({ name: MetaConstants.Table })}\n >\n <Spinner accessibilityLabel=\"Loading Table\" size=\"large\" />\n </BaseBox>\n ) : (\n <BaseBox\n flex={1}\n position=\"relative\"\n {...getStyledProps(styledProps)}\n {...metaAttribute({ name: MetaConstants.Table })}\n >\n {isRefreshSpinnerMounted && (\n <RefreshWrapper\n position=\"absolute\"\n width=\"100%\"\n height=\"100%\"\n zIndex={refreshWrapperZIndex}\n backgroundColor=\"overlay.background.subtle\"\n justifyContent=\"center\"\n alignItems=\"center\"\n display=\"flex\"\n isRefreshSpinnerEntering={isRefreshSpinnerEntering}\n isRefreshSpinnerExiting={isRefreshSpinnerExiting}\n isRefreshSpinnerVisible={isRefreshSpinnerVisible}\n >\n <Spinner color=\"white\" accessibilityLabel=\"Refreshing Table\" size=\"large\" />\n </RefreshWrapper>\n )}\n {toolbar}\n <StyledReactTable\n role=\"table\"\n layout={{ fixedHeader: shouldHeaderBeSticky, horizontalScroll: true }}\n data={data}\n // @ts-expect-error ignore this, theme clashes with styled-component's theme. We're using useTheme from blade to get actual theme\n theme={tableTheme}\n select={selectionType !== 'none' ? rowSelectConfig : null}\n sort={sortFunctions ? sort : null}\n $styledProps={{\n height,\n }}\n pagination={hasPagination ? paginationConfig : null}\n {...metaAttribute({ name: MetaConstants.Table })}\n >\n {children}\n </StyledReactTable>\n {pagination}\n </BaseBox>\n )}\n </TableContext.Provider>\n );\n};\n\nconst Table = assignWithoutSideEffects(_Table, {\n componentId: ComponentIds.Table,\n});\n\nexport { Table };\n"],"names":["rowSelectType","single","SelectTypes","SingleSelect","multiple","MultiSelect","none","undefined","getTableHeaderCellCount","children","tableRootComponent","React","isValidElement","tableComponentArray","Children","toArray","_tableHeaderCells$len","tableComponentArrayChildren","props","tableHeader","find","child","getComponentId","ComponentIds","TableHeader","tableHeaderChildrenArray","tableHeaderRow","TableHeaderRow","tableHeaderRowChildrenArray","tableHeaderCells","filter","TableHeaderCell","length","StyledReactTable","styled","ReactTable","withConfig","displayName","componentId","_ref","$styledProps","_useTheme","useTheme","theme","styledPropsCSSObject","getBaseBoxStyles","height","_objectSpread","RefreshWrapper","BaseBox","_ref2","isRefreshSpinnerVisible","isRefreshSpinnerEntering","isRefreshSpinnerExiting","opacity","transition","concat","makeMotionTime","motion","duration","quick","easing","entrance","effective","exit","_Table","_ref3","data","_ref3$selectionType","selectionType","onSelectionChange","isHeaderSticky","isFooterSticky","isFirstColumnSticky","_ref3$rowDensity","rowDensity","onSortChange","sortFunctions","toolbar","pagination","showStripedRows","gridTemplateColumns","_ref3$isLoading","isLoading","_ref3$isRefreshing","isRefreshing","styledProps","_objectWithoutProperties","_excluded","_useTheme2","_React$useState","useState","_React$useState2","_slicedToArray","selectedRows","setSelectedRows","_React$useState3","_React$useState4","disabledRows","setDisabledRows","_React$useState5","nodes","_React$useState6","totalItems","setTotalItems","shouldHeaderBeSticky","backgroundColor","tableBackgroundColor","_usePresence","usePresence","transitionDuration","isEntering","isRefreshSpinnerMounted","isMounted","isExiting","isVisible","columnCount","firstColumnStickyHeaderCellCSS","firstColumnStickyHeaderFooterZIndex","checkboxCellWidth","firstColumnStickyFooterCellCSS","firstColumnStickyBodyCellCSS","tableTheme","useTableTheme","Table","makeBorderSize","border","width","thin","colors","surface","gray","muted","getIn","HeaderCell","Cell","FooterCell","useEffect","onSelectChange","action","state","_state$ids","selectedIDs","id","ids","values","node","includes","rowSelectConfig","useRowSelect","onChange","rowSelect","toggleRowSelectionById","useMemo","fns","onToggleById","deselectAllRows","onRemoveAll","toggleAllRowsSelection","map","item","Boolean","onAddAll","handleSortChange","sortKey","isSortReversed","reverse","sort","useSort","sortFns","currentSortedState","sortableColumns","Object","keys","toggleSort","useCallback","onToggleSort","hasPagination","paginationConfig","usePagination","page","size","tablePagination","defaultPageSize","currentPaginationState","setPaginationPage","onSetPage","setPaginationRowSize","onSetSize","isValidAllowedChildren","TableToolbar","throwBladeError","message","moduleName","tableContext","_jsx","TableContext","Provider","value","display","flex","alignItems","justifyContent","getStyledProps","metaAttribute","name","MetaConstants","Spinner","accessibilityLabel","_jsxs","position","zIndex","refreshWrapperZIndex","color","role","layout","fixedHeader","horizontalScroll","select","assignWithoutSideEffects"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Table.web.js","sources":["../../../../../../src/components/Table/Table.web.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useMemo } from 'react';\nimport { Table as ReactTable } from '@table-library/react-table-library/table';\nimport { useTheme as useTableTheme } from '@table-library/react-table-library/theme';\nimport type { MiddlewareFunction } from '@table-library/react-table-library/types/common';\nimport { useSort } from '@table-library/react-table-library/sort';\nimport { usePagination } from '@table-library/react-table-library/pagination';\nimport { SelectTypes, useRowSelect } from '@table-library/react-table-library/select';\nimport styled from 'styled-components';\nimport usePresence from 'use-presence';\nimport type { TableContextType } from './TableContext';\nimport { TableContext } from './TableContext';\nimport { ComponentIds } from './componentIds';\nimport {\n checkboxCellWidth,\n firstColumnStickyHeaderFooterZIndex,\n refreshWrapperZIndex,\n tableBackgroundColor,\n tablePagination,\n} from './tokens';\nimport type { TableProps, TableNode, Identifier, TablePaginationType } from './types';\nimport { makeBorderSize, makeMotionTime } from '~utils';\nimport { getComponentId, isValidAllowedChildren } from '~utils/isValidAllowedChildren';\nimport { throwBladeError } from '~utils/logger';\nimport type { BoxProps } from '~components/Box';\nimport { getBaseBoxStyles } from '~components/Box/BaseBox/baseBoxStyles';\nimport BaseBox from '~components/Box/BaseBox';\nimport { Spinner } from '~components/Spinner';\nimport { getStyledProps } from '~components/Box/styledProps';\nimport { MetaConstants, metaAttribute } from '~utils/metaAttribute';\nimport { assignWithoutSideEffects } from '~utils/assignWithoutSideEffects';\nimport { useTheme } from '~components/BladeProvider';\nimport getIn from '~utils/lodashButBetter/get';\n\nconst rowSelectType: Record<\n NonNullable<TableProps<unknown>['selectionType']>,\n SelectTypes | undefined\n> = {\n single: SelectTypes.SingleSelect,\n multiple: SelectTypes.MultiSelect,\n none: undefined,\n};\n\n// Get the number of TableHeaderCell components.\n// This is very complicated but the only way to iterate through the structure and get number of header cells.\n// Assuming number of header cells is the same as number of columns\nconst getTableHeaderCellCount = (children: (data: []) => React.ReactElement): number => {\n const tableRootComponent = children([]);\n if (tableRootComponent && React.isValidElement(tableRootComponent)) {\n const tableComponentArray = React.Children.toArray(tableRootComponent);\n if (React.isValidElement(tableComponentArray[0])) {\n const tableComponentArrayChildren = React.Children.toArray(\n tableComponentArray[0].props.children,\n );\n const tableHeader = tableComponentArrayChildren.find(\n (child) => getComponentId(child) === ComponentIds.TableHeader,\n );\n const tableHeaderChildrenArray = React.isValidElement(tableHeader)\n ? React.Children.toArray(tableHeader.props.children)\n : null;\n const tableHeaderRow = tableHeaderChildrenArray?.find(\n (child) => getComponentId(child) === ComponentIds.TableHeaderRow,\n );\n const tableHeaderRowChildrenArray = React.isValidElement(tableHeaderRow)\n ? React.Children.toArray(tableHeaderRow.props.children)\n : null;\n const tableHeaderCells = tableHeaderRowChildrenArray\n ? tableHeaderRowChildrenArray.filter(\n (child) => getComponentId(child) === ComponentIds.TableHeaderCell,\n )\n : null;\n return tableHeaderCells?.length ?? 0;\n }\n }\n return 0;\n};\n\nconst StyledReactTable = styled(ReactTable)<{ $styledProps?: { height?: BoxProps['height'] } }>(\n ({ $styledProps }) => {\n const { theme } = useTheme();\n const styledPropsCSSObject = getBaseBoxStyles({\n theme,\n height: $styledProps?.height,\n });\n\n return {\n '&&&': {\n ...styledPropsCSSObject,\n },\n };\n },\n);\n\nconst RefreshWrapper = styled(BaseBox)<{\n isRefreshSpinnerVisible: boolean;\n isRefreshSpinnerEntering: boolean;\n isRefreshSpinnerExiting: boolean;\n}>(({ isRefreshSpinnerVisible, isRefreshSpinnerEntering, isRefreshSpinnerExiting, theme }) => {\n return {\n opacity: isRefreshSpinnerVisible ? 1 : 0,\n transition: `opacity ${makeMotionTime(theme.motion.duration.quick)} ${\n isRefreshSpinnerEntering\n ? theme.motion.easing.entrance.effective\n : isRefreshSpinnerExiting\n ? theme.motion.easing.exit.effective\n : ''\n }`,\n };\n});\n\nconst _Table = <Item,>({\n children,\n data,\n selectionType = 'none',\n onSelectionChange,\n isHeaderSticky,\n isFooterSticky,\n isFirstColumnSticky,\n rowDensity = 'normal',\n onSortChange,\n sortFunctions,\n toolbar,\n pagination,\n height,\n showStripedRows,\n gridTemplateColumns,\n isLoading = false,\n isRefreshing = false,\n ...styledProps\n}: TableProps<Item>): React.ReactElement => {\n const { theme } = useTheme();\n const [selectedRows, setSelectedRows] = React.useState<TableNode<unknown>['id'][]>([]);\n const [disabledRows, setDisabledRows] = React.useState<TableNode<unknown>['id'][]>([]);\n const [totalItems, setTotalItems] = React.useState(data.nodes.length || 0);\n const [paginationType, setPaginationType] = React.useState<NonNullable<TablePaginationType>>(\n 'client',\n );\n // Need to make header is sticky if first column is sticky otherwise the first header cell will not be sticky\n const shouldHeaderBeSticky = isHeaderSticky ?? isFirstColumnSticky;\n const backgroundColor = tableBackgroundColor;\n\n const {\n isEntering: isRefreshSpinnerEntering,\n isMounted: isRefreshSpinnerMounted,\n isExiting: isRefreshSpinnerExiting,\n isVisible: isRefreshSpinnerVisible,\n } = usePresence(isRefreshing, {\n transitionDuration: theme.motion.duration.quick,\n });\n\n // Table Theme\n const columnCount = getTableHeaderCellCount(children);\n const firstColumnStickyHeaderCellCSS = isFirstColumnSticky\n ? `\n &:nth-of-type(1) {\n left: 0 !important;\n position: sticky !important;\n z-index: ${firstColumnStickyHeaderFooterZIndex} !important;\n }\n ${\n selectionType === 'multiple' &&\n `&:nth-of-type(2) {\n left: ${checkboxCellWidth}px !important;\n position: sticky !important;\n z-index: ${firstColumnStickyHeaderFooterZIndex} !important;\n }\n `\n }`\n : '';\n const firstColumnStickyFooterCellCSS = isFirstColumnSticky\n ? `\n &:nth-of-type(1) {\n left: 0 !important;\n position: sticky !important;\n z-index: ${firstColumnStickyHeaderFooterZIndex} !important;\n }\n ${\n selectionType === 'multiple' &&\n `&:nth-of-type(2) {\n left: ${checkboxCellWidth}px !important;\n position: sticky !important;\n z-index: ${firstColumnStickyHeaderFooterZIndex} !important;\n }\n `\n }`\n : '';\n const firstColumnStickyBodyCellCSS = isFirstColumnSticky\n ? `\n &:nth-of-type(1) {\n left: 0 !important;\n position: sticky !important;\n }\n ${\n selectionType === 'multiple' &&\n `&:nth-of-type(2) {\n left: ${checkboxCellWidth}px !important;\n position: sticky !important;\n }\n `\n }`\n : '';\n\n const tableTheme = useTableTheme({\n Table: `\n height:${isFooterSticky ? `100%` : undefined};\n border: ${makeBorderSize(theme.border.width.thin)} solid ${\n theme.colors.surface.border.gray.muted\n };\n --data-table-library_grid-template-columns: ${\n gridTemplateColumns ??\n ` ${\n selectionType === 'multiple' ? 'min-content' : ''\n } repeat(${columnCount},minmax(100px, 1fr)) !important;`\n } !important;\n background-color: ${getIn(theme.colors, backgroundColor)};\n `,\n HeaderCell: `\n position: ${shouldHeaderBeSticky ? 'sticky' : 'relative'};\n top: ${shouldHeaderBeSticky ? '0' : undefined};\n ${firstColumnStickyHeaderCellCSS}\n `,\n Cell: `\n ${firstColumnStickyBodyCellCSS}\n `,\n FooterCell: `\n position: ${isFooterSticky ? 'sticky' : 'relative'};\n bottom: ${isFooterSticky ? '0' : undefined};\n ${firstColumnStickyFooterCellCSS}\n `,\n });\n\n useEffect(() => {\n // Get the total number of items\n setTotalItems(data.nodes.length);\n }, [data.nodes]);\n\n // Selection Logic\n const onSelectChange: MiddlewareFunction = (action, state): void => {\n const selectedIDs: Identifier[] = state.id ? [state.id] : state.ids ?? [];\n setSelectedRows(selectedIDs);\n onSelectionChange?.({\n values: data.nodes.filter((node) => selectedIDs.includes(node.id)),\n });\n };\n\n const rowSelectConfig = useRowSelect(\n data,\n {\n onChange: onSelectChange,\n },\n {\n rowSelect: selectionType !== 'none' ? rowSelectType[selectionType] : undefined,\n },\n );\n\n const toggleRowSelectionById = useMemo(\n () => (id: Identifier): void => {\n rowSelectConfig.fns.onToggleById(id);\n },\n [rowSelectConfig.fns],\n );\n\n const deselectAllRows = useMemo(\n () => (): void => {\n rowSelectConfig.fns.onRemoveAll();\n },\n [rowSelectConfig.fns],\n );\n\n const toggleAllRowsSelection = useMemo(\n () => (): void => {\n if (selectedRows.length > 0) {\n rowSelectConfig.fns.onRemoveAll();\n } else {\n const ids = data.nodes\n .map((item: TableNode<Item>) => (disabledRows.includes(item.id) ? null : item.id))\n .filter(Boolean) as Identifier[];\n\n rowSelectConfig.fns.onAddAll(ids);\n }\n },\n [rowSelectConfig.fns, data.nodes, selectedRows, disabledRows],\n );\n\n // Sort Logic\n const handleSortChange: MiddlewareFunction = (action, state) => {\n onSortChange?.({\n sortKey: state.sortKey,\n isSortReversed: state.reverse,\n });\n };\n\n const sort = useSort(\n data,\n {\n onChange: handleSortChange,\n },\n {\n // @ts-expect-error ignore this, if sortFunctions is undefined, it will be ignored\n sortFns: sortFunctions,\n },\n );\n\n const currentSortedState: TableContextType['currentSortedState'] = useMemo(() => {\n return {\n sortKey: sort.state.sortKey,\n isSortReversed: sort.state.reverse,\n sortableColumns: Object.keys(sortFunctions ?? {}),\n };\n }, [sort.state, sortFunctions]);\n\n const toggleSort = useCallback(\n (sortKey: string): void => {\n sort.fns.onToggleSort({\n sortKey,\n });\n },\n [sort.fns],\n );\n\n // Pagination\n\n const hasPagination = Boolean(pagination);\n\n const paginationConfig = usePagination(\n data,\n {\n state: {\n page: 0,\n size: tablePagination.defaultPageSize,\n },\n },\n {\n isServer: paginationType === 'server',\n },\n );\n\n const currentPaginationState = useMemo(() => {\n return hasPagination\n ? {\n page: paginationConfig.state.page,\n size: paginationConfig.state.size,\n }\n : undefined;\n }, [paginationConfig.state, hasPagination]);\n\n const setPaginationPage = useCallback(\n (page: number): void => {\n paginationConfig.fns.onSetPage(page);\n },\n [paginationConfig.fns],\n );\n\n const setPaginationRowSize = useCallback(\n (size: number): void => {\n paginationConfig.fns.onSetSize(size);\n },\n [paginationConfig.fns],\n );\n\n // Toolbar Component\n if (__DEV__) {\n if (toolbar && !isValidAllowedChildren(toolbar, ComponentIds.TableToolbar)) {\n throwBladeError({\n message: 'Only TableToolbar component is allowed in the `toolbar` prop',\n moduleName: 'Table',\n });\n }\n }\n\n // Table Context\n const tableContext: TableContextType = useMemo(\n () => ({\n selectionType,\n selectedRows,\n totalItems,\n toggleRowSelectionById,\n toggleAllRowsSelection,\n deselectAllRows,\n rowDensity,\n toggleSort,\n currentSortedState,\n setPaginationPage,\n setPaginationRowSize,\n currentPaginationState,\n showStripedRows,\n disabledRows,\n setDisabledRows,\n paginationType,\n setPaginationType,\n backgroundColor,\n }),\n [\n selectionType,\n selectedRows,\n totalItems,\n toggleRowSelectionById,\n toggleAllRowsSelection,\n deselectAllRows,\n rowDensity,\n toggleSort,\n currentSortedState,\n setPaginationPage,\n setPaginationRowSize,\n currentPaginationState,\n showStripedRows,\n disabledRows,\n setDisabledRows,\n paginationType,\n setPaginationType,\n backgroundColor,\n ],\n );\n\n return (\n <TableContext.Provider value={tableContext}>\n {isLoading ? (\n <BaseBox\n display=\"flex\"\n flex={1}\n alignItems=\"center\"\n justifyContent=\"center\"\n height={height}\n {...getStyledProps(styledProps)}\n {...metaAttribute({ name: MetaConstants.Table })}\n >\n <Spinner accessibilityLabel=\"Loading Table\" size=\"large\" />\n </BaseBox>\n ) : (\n <BaseBox\n flex={1}\n position=\"relative\"\n {...getStyledProps(styledProps)}\n {...metaAttribute({ name: MetaConstants.Table })}\n >\n {isRefreshSpinnerMounted && (\n <RefreshWrapper\n position=\"absolute\"\n width=\"100%\"\n height=\"100%\"\n zIndex={refreshWrapperZIndex}\n backgroundColor=\"overlay.background.subtle\"\n justifyContent=\"center\"\n alignItems=\"center\"\n display=\"flex\"\n isRefreshSpinnerEntering={isRefreshSpinnerEntering}\n isRefreshSpinnerExiting={isRefreshSpinnerExiting}\n isRefreshSpinnerVisible={isRefreshSpinnerVisible}\n >\n <Spinner color=\"white\" accessibilityLabel=\"Refreshing Table\" size=\"large\" />\n </RefreshWrapper>\n )}\n {toolbar}\n <StyledReactTable\n role=\"table\"\n layout={{ fixedHeader: shouldHeaderBeSticky, horizontalScroll: true }}\n data={data}\n // @ts-expect-error ignore this, theme clashes with styled-component's theme. We're using useTheme from blade to get actual theme\n theme={tableTheme}\n select={selectionType !== 'none' ? rowSelectConfig : null}\n sort={sortFunctions ? sort : null}\n $styledProps={{\n height,\n }}\n pagination={hasPagination ? paginationConfig : null}\n {...metaAttribute({ name: MetaConstants.Table })}\n >\n {children}\n </StyledReactTable>\n {pagination}\n </BaseBox>\n )}\n </TableContext.Provider>\n );\n};\n\nconst Table = assignWithoutSideEffects(_Table, {\n componentId: ComponentIds.Table,\n});\n\nexport { Table };\n"],"names":["rowSelectType","single","SelectTypes","SingleSelect","multiple","MultiSelect","none","undefined","getTableHeaderCellCount","children","tableRootComponent","React","isValidElement","tableComponentArray","Children","toArray","_tableHeaderCells$len","tableComponentArrayChildren","props","tableHeader","find","child","getComponentId","ComponentIds","TableHeader","tableHeaderChildrenArray","tableHeaderRow","TableHeaderRow","tableHeaderRowChildrenArray","tableHeaderCells","filter","TableHeaderCell","length","StyledReactTable","styled","ReactTable","withConfig","displayName","componentId","_ref","$styledProps","_useTheme","useTheme","theme","styledPropsCSSObject","getBaseBoxStyles","height","_objectSpread","RefreshWrapper","BaseBox","_ref2","isRefreshSpinnerVisible","isRefreshSpinnerEntering","isRefreshSpinnerExiting","opacity","transition","concat","makeMotionTime","motion","duration","quick","easing","entrance","effective","exit","_Table","_ref3","data","_ref3$selectionType","selectionType","onSelectionChange","isHeaderSticky","isFooterSticky","isFirstColumnSticky","_ref3$rowDensity","rowDensity","onSortChange","sortFunctions","toolbar","pagination","showStripedRows","gridTemplateColumns","_ref3$isLoading","isLoading","_ref3$isRefreshing","isRefreshing","styledProps","_objectWithoutProperties","_excluded","_useTheme2","_React$useState","useState","_React$useState2","_slicedToArray","selectedRows","setSelectedRows","_React$useState3","_React$useState4","disabledRows","setDisabledRows","_React$useState5","nodes","_React$useState6","totalItems","setTotalItems","_React$useState7","_React$useState8","paginationType","setPaginationType","shouldHeaderBeSticky","backgroundColor","tableBackgroundColor","_usePresence","usePresence","transitionDuration","isEntering","isRefreshSpinnerMounted","isMounted","isExiting","isVisible","columnCount","firstColumnStickyHeaderCellCSS","firstColumnStickyHeaderFooterZIndex","checkboxCellWidth","firstColumnStickyFooterCellCSS","firstColumnStickyBodyCellCSS","tableTheme","useTableTheme","Table","makeBorderSize","border","width","thin","colors","surface","gray","muted","getIn","HeaderCell","Cell","FooterCell","useEffect","onSelectChange","action","state","_state$ids","selectedIDs","id","ids","values","node","includes","rowSelectConfig","useRowSelect","onChange","rowSelect","toggleRowSelectionById","useMemo","fns","onToggleById","deselectAllRows","onRemoveAll","toggleAllRowsSelection","map","item","Boolean","onAddAll","handleSortChange","sortKey","isSortReversed","reverse","sort","useSort","sortFns","currentSortedState","sortableColumns","Object","keys","toggleSort","useCallback","onToggleSort","hasPagination","paginationConfig","usePagination","page","size","tablePagination","defaultPageSize","isServer","currentPaginationState","setPaginationPage","onSetPage","setPaginationRowSize","onSetSize","isValidAllowedChildren","TableToolbar","throwBladeError","message","moduleName","tableContext","_jsx","TableContext","Provider","value","display","flex","alignItems","justifyContent","getStyledProps","metaAttribute","name","MetaConstants","Spinner","accessibilityLabel","_jsxs","position","zIndex","refreshWrapperZIndex","color","role","layout","fixedHeader","horizontalScroll","select","assignWithoutSideEffects"],"mappings":"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"}
|
|
@@ -19,6 +19,8 @@ var TableContext = /*#__PURE__*/React__default.createContext({
|
|
|
19
19
|
setPaginationRowSize: function setPaginationRowSize() {},
|
|
20
20
|
disabledRows: [],
|
|
21
21
|
setDisabledRows: function setDisabledRows() {},
|
|
22
|
+
paginationType: 'client',
|
|
23
|
+
setPaginationType: function setPaginationType() {},
|
|
22
24
|
backgroundColor: 'surface.background.gray.intense'
|
|
23
25
|
});
|
|
24
26
|
var useTableContext = function useTableContext() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TableContext.js","sources":["../../../../../../src/components/Table/TableContext.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-empty-function */\n// eslint-disable-next-line @typescript-eslint/no-empty-function\nimport React from 'react';\nimport type { TableNode } from '@table-library/react-table-library/table';\nimport type { TableBackgroundColors, TableProps } from './types';\n\nexport type TableContextType = {\n selectionType?: TableProps<unknown>['selectionType'];\n selectedRows?: TableNode['id'][];\n totalItems: number;\n toggleRowSelectionById: (id: TableNode['id']) => void;\n toggleAllRowsSelection: () => void;\n deselectAllRows: () => void;\n rowDensity: NonNullable<TableProps<unknown>['rowDensity']>;\n toggleSort: (sortKey: string) => void;\n currentSortedState: {\n sortKey: string;\n isSortReversed: boolean;\n sortableColumns?: string[];\n };\n setPaginationPage: (page: number) => void;\n setPaginationRowSize: (size: number) => void;\n currentPaginationState?: {\n page: number;\n size: number;\n };\n showStripedRows?: boolean;\n disabledRows: TableNode['id'][];\n setDisabledRows: React.Dispatch<React.SetStateAction<TableNode['id'][]>>;\n backgroundColor: TableBackgroundColors;\n};\n\nconst TableContext = React.createContext<TableContextType>({\n selectionType: 'none',\n selectedRows: undefined,\n totalItems: 0,\n toggleRowSelectionById: () => {},\n toggleAllRowsSelection: () => {},\n deselectAllRows: () => {},\n rowDensity: 'normal',\n toggleSort: () => {},\n currentSortedState: {\n sortKey: '',\n isSortReversed: false,\n },\n setPaginationPage: () => {},\n setPaginationRowSize: () => {},\n disabledRows: [],\n setDisabledRows: () => {},\n backgroundColor: 'surface.background.gray.intense',\n});\n\nconst useTableContext = (): TableContextType => {\n const context = React.useContext(TableContext);\n return context;\n};\n\nexport { useTableContext, TableContext };\n"],"names":["TableContext","React","createContext","selectionType","selectedRows","undefined","totalItems","toggleRowSelectionById","toggleAllRowsSelection","deselectAllRows","rowDensity","toggleSort","currentSortedState","sortKey","isSortReversed","setPaginationPage","setPaginationRowSize","disabledRows","setDisabledRows","backgroundColor","useTableContext","context","useContext"],"mappings":";;AAAA;AACA;
|
|
1
|
+
{"version":3,"file":"TableContext.js","sources":["../../../../../../src/components/Table/TableContext.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-empty-function */\n// eslint-disable-next-line @typescript-eslint/no-empty-function\nimport React from 'react';\nimport type { TableNode } from '@table-library/react-table-library/table';\nimport type { TableBackgroundColors, TableProps, TablePaginationType } from './types';\n\nexport type TableContextType = {\n selectionType?: TableProps<unknown>['selectionType'];\n selectedRows?: TableNode['id'][];\n totalItems: number;\n toggleRowSelectionById: (id: TableNode['id']) => void;\n toggleAllRowsSelection: () => void;\n deselectAllRows: () => void;\n rowDensity: NonNullable<TableProps<unknown>['rowDensity']>;\n toggleSort: (sortKey: string) => void;\n currentSortedState: {\n sortKey: string;\n isSortReversed: boolean;\n sortableColumns?: string[];\n };\n setPaginationPage: (page: number) => void;\n setPaginationRowSize: (size: number) => void;\n currentPaginationState?: {\n page: number;\n size: number;\n };\n showStripedRows?: boolean;\n disabledRows: TableNode['id'][];\n setDisabledRows: React.Dispatch<React.SetStateAction<TableNode['id'][]>>;\n paginationType: NonNullable<TablePaginationType>;\n setPaginationType: React.Dispatch<React.SetStateAction<NonNullable<TablePaginationType>>>;\n backgroundColor: TableBackgroundColors;\n};\n\nconst TableContext = React.createContext<TableContextType>({\n selectionType: 'none',\n selectedRows: undefined,\n totalItems: 0,\n toggleRowSelectionById: () => {},\n toggleAllRowsSelection: () => {},\n deselectAllRows: () => {},\n rowDensity: 'normal',\n toggleSort: () => {},\n currentSortedState: {\n sortKey: '',\n isSortReversed: false,\n },\n setPaginationPage: () => {},\n setPaginationRowSize: () => {},\n disabledRows: [],\n setDisabledRows: () => {},\n paginationType: 'client',\n setPaginationType: () => {},\n backgroundColor: 'surface.background.gray.intense',\n});\n\nconst useTableContext = (): TableContextType => {\n const context = React.useContext(TableContext);\n return context;\n};\n\nexport { useTableContext, TableContext };\n"],"names":["TableContext","React","createContext","selectionType","selectedRows","undefined","totalItems","toggleRowSelectionById","toggleAllRowsSelection","deselectAllRows","rowDensity","toggleSort","currentSortedState","sortKey","isSortReversed","setPaginationPage","setPaginationRowSize","disabledRows","setDisabledRows","paginationType","setPaginationType","backgroundColor","useTableContext","context","useContext"],"mappings":";;AAAA;AACA;AAiCA,IAAMA,YAAY,gBAAGC,cAAK,CAACC,aAAa,CAAmB;AACzDC,EAAAA,aAAa,EAAE,MAAM;AACrBC,EAAAA,YAAY,EAAEC,SAAS;AACvBC,EAAAA,UAAU,EAAE,CAAC;AACbC,EAAAA,sBAAsB,EAAE,SAAAA,sBAAA,GAAM,EAAE;AAChCC,EAAAA,sBAAsB,EAAE,SAAAA,sBAAA,GAAM,EAAE;AAChCC,EAAAA,eAAe,EAAE,SAAAA,eAAA,GAAM,EAAE;AACzBC,EAAAA,UAAU,EAAE,QAAQ;AACpBC,EAAAA,UAAU,EAAE,SAAAA,UAAA,GAAM,EAAE;AACpBC,EAAAA,kBAAkB,EAAE;AAClBC,IAAAA,OAAO,EAAE,EAAE;AACXC,IAAAA,cAAc,EAAE,KAAA;GACjB;AACDC,EAAAA,iBAAiB,EAAE,SAAAA,iBAAA,GAAM,EAAE;AAC3BC,EAAAA,oBAAoB,EAAE,SAAAA,oBAAA,GAAM,EAAE;AAC9BC,EAAAA,YAAY,EAAE,EAAE;AAChBC,EAAAA,eAAe,EAAE,SAAAA,eAAA,GAAM,EAAE;AACzBC,EAAAA,cAAc,EAAE,QAAQ;AACxBC,EAAAA,iBAAiB,EAAE,SAAAA,iBAAA,GAAM,EAAE;AAC3BC,EAAAA,eAAe,EAAE,iCAAA;AACnB,CAAC,EAAC;AAEF,IAAMC,eAAe,GAAG,SAAlBA,eAAeA,GAA2B;AAC9C,EAAA,IAAMC,OAAO,GAAGtB,cAAK,CAACuB,UAAU,CAACxB,YAAY,CAAC,CAAA;AAC9C,EAAA,OAAOuB,OAAO,CAAA;AAChB;;;;"}
|
|
@@ -18,11 +18,13 @@ import '../Button/index.js';
|
|
|
18
18
|
import '../../utils/makeAccessible/index.js';
|
|
19
19
|
import '../../utils/assignWithoutSideEffects/index.js';
|
|
20
20
|
import '../BladeProvider/index.js';
|
|
21
|
+
import '../../utils/logger/index.js';
|
|
21
22
|
import '../../utils/getFocusRingStyles/index.js';
|
|
22
23
|
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
23
24
|
import { makeSize } from '../../utils/makeSize/makeSize.js';
|
|
24
25
|
import { getFocusRingStyles } from '../../utils/getFocusRingStyles/getFocusRingStyles.web.js';
|
|
25
26
|
import useTheme from '../BladeProvider/useTheme.js';
|
|
27
|
+
import { throwBladeError } from '../../utils/logger/logger.js';
|
|
26
28
|
import { BaseBox } from '../Box/BaseBox/BaseBox.web.js';
|
|
27
29
|
import { Text } from '../Typography/Text/Text.js';
|
|
28
30
|
import { Dropdown } from '../Dropdown/Dropdown.js';
|
|
@@ -151,12 +153,16 @@ var _TablePagination = function _TablePagination(_ref3) {
|
|
|
151
153
|
_ref3$showPageNumberS = _ref3.showPageNumberSelector,
|
|
152
154
|
showPageNumberSelector = _ref3$showPageNumberS === void 0 ? false : _ref3$showPageNumberS,
|
|
153
155
|
showLabel = _ref3.showLabel,
|
|
154
|
-
label = _ref3.label
|
|
156
|
+
label = _ref3.label,
|
|
157
|
+
totalItemCount = _ref3.totalItemCount,
|
|
158
|
+
_ref3$paginationType = _ref3.paginationType,
|
|
159
|
+
paginationType = _ref3$paginationType === void 0 ? 'client' : _ref3$paginationType;
|
|
155
160
|
var _useTableContext = useTableContext(),
|
|
156
161
|
setPaginationPage = _useTableContext.setPaginationPage,
|
|
157
162
|
currentPaginationState = _useTableContext.currentPaginationState,
|
|
158
163
|
totalItems = _useTableContext.totalItems,
|
|
159
|
-
setPaginationRowSize = _useTableContext.setPaginationRowSize
|
|
164
|
+
setPaginationRowSize = _useTableContext.setPaginationRowSize,
|
|
165
|
+
setPaginationType = _useTableContext.setPaginationType;
|
|
160
166
|
var _React$useState = React__default.useState(defaultPageSize),
|
|
161
167
|
_React$useState2 = _slicedToArray(_React$useState, 2),
|
|
162
168
|
currentPageSize = _React$useState2[0],
|
|
@@ -175,13 +181,14 @@ var _TablePagination = function _TablePagination(_ref3) {
|
|
|
175
181
|
var onMobile = platform === 'onMobile';
|
|
176
182
|
useEffect(function () {
|
|
177
183
|
setPaginationRowSize(currentPageSize);
|
|
184
|
+
setPaginationType(paginationType);
|
|
178
185
|
}, []);
|
|
179
186
|
useEffect(function () {
|
|
180
187
|
if (currentPage && (currentPaginationState === null || currentPaginationState === void 0 ? void 0 : currentPaginationState.page) !== currentPage) {
|
|
181
188
|
setPaginationPage(currentPage);
|
|
182
189
|
}
|
|
183
190
|
}, [currentPage, currentPaginationState === null || currentPaginationState === void 0 ? void 0 : currentPaginationState.page, setPaginationPage]);
|
|
184
|
-
var totalPages = Math.ceil(totalItems / currentPageSize);
|
|
191
|
+
var totalPages = isUndefined(totalItemCount) ? Math.ceil(totalItems / currentPageSize) : Math.ceil(totalItemCount / currentPageSize);
|
|
185
192
|
var handlePageChange = useCallback(function (page) {
|
|
186
193
|
var pageToJumpTo = page;
|
|
187
194
|
if (pageToJumpTo < 0) {
|
|
@@ -203,6 +210,14 @@ var _TablePagination = function _TablePagination(_ref3) {
|
|
|
203
210
|
handlePageChange(controlledCurrentPage);
|
|
204
211
|
}
|
|
205
212
|
}, [controlledCurrentPage, currentPage, handlePageChange, onPageChange]);
|
|
213
|
+
if (true) {
|
|
214
|
+
if (paginationType === 'server' && (isUndefined(totalItemCount) || isUndefined(onPageChange))) {
|
|
215
|
+
throwBladeError({
|
|
216
|
+
message: '`onPageChange` and `totalItemCount` props are required when paginationType is server.',
|
|
217
|
+
moduleName: 'TablePagination'
|
|
218
|
+
});
|
|
219
|
+
}
|
|
220
|
+
}
|
|
206
221
|
var handlePageSizeChange = function handlePageSizeChange(pageSize) {
|
|
207
222
|
onPageSizeChange === null || onPageSizeChange === void 0 ? void 0 : onPageSizeChange({
|
|
208
223
|
pageSize: pageSize
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TablePagination.web.js","sources":["../../../../../../src/components/Table/TablePagination.web.tsx"],"sourcesContent":["import React, { useCallback, useEffect } from 'react';\nimport styled from 'styled-components';\nimport { useTableContext } from './TableContext';\nimport { ComponentIds } from './componentIds';\nimport { tablePagination } from './tokens';\nimport type { TablePaginationProps } from './types';\nimport isUndefined from '~utils/lodashButBetter/isUndefined';\nimport getIn from '~utils/lodashButBetter/get';\nimport BaseBox from '~components/Box/BaseBox';\nimport {\n ChevronLeftIcon,\n ChevronRightIcon,\n ChevronsLeftIcon,\n ChevronsRightIcon,\n MoreHorizontalIcon,\n} from '~components/Icons';\nimport { Dropdown, DropdownOverlay } from '~components/Dropdown';\nimport { SelectInput } from '~components/Input/DropdownInputTriggers';\nimport { ActionList, ActionListItem } from '~components/ActionList';\nimport { Text } from '~components/Typography';\nimport { makeSize } from '~utils';\nimport { Button } from '~components/Button';\nimport { makeAccessible } from '~utils/makeAccessible';\nimport { assignWithoutSideEffects } from '~utils/assignWithoutSideEffects';\nimport { useTheme } from '~components/BladeProvider';\nimport { getFocusRingStyles } from '~utils/getFocusRingStyles';\n\nconst pageSizeOptions: NonNullable<TablePaginationProps['defaultPageSize']>[] = [10, 25, 50];\n\nconst PageSelectionButton = styled.button<{ isSelected?: boolean }>(({ theme, isSelected }) => ({\n backgroundColor: isSelected\n ? getIn(theme.colors, tablePagination.pageSelectionButton.backgroundColorSelected)\n : 'transparent',\n border: 'none',\n cursor: 'pointer',\n height: makeSize(tablePagination.pageSelectionButton.height),\n width: makeSize(tablePagination.pageSelectionButton.width),\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n borderRadius: getIn(theme.border.radius, tablePagination.pageSelectionButton.borderRadius),\n '&:hover': {\n backgroundColor: isSelected\n ? getIn(theme.colors, tablePagination.pageSelectionButton.backgroundColorSelectedHover)\n : getIn(theme.colors, tablePagination.pageSelectionButton.backgroundColorHover),\n },\n '&:focus-visible': {\n backgroundColor: isSelected\n ? getIn(theme.colors, tablePagination.pageSelectionButton.backgroundColorSelectedActive)\n : getIn(theme.colors, tablePagination.pageSelectionButton.backgroundColorActive),\n outline: 'none',\n '&:focus-visible': getFocusRingStyles({ theme }),\n },\n '&:active': {\n backgroundColor: isSelected\n ? getIn(theme.colors, tablePagination.pageSelectionButton.backgroundColorSelectedActive)\n : getIn(theme.colors, tablePagination.pageSelectionButton.backgroundColorActive),\n },\n}));\nconst getPaginationButtons = ({\n currentSelection,\n totalPages,\n}: {\n currentSelection: number;\n totalPages: number;\n}): {\n middleItems: number[];\n showStartEllipsis: boolean;\n showEndEllipsis: boolean;\n firstItem: number;\n lastItem: number;\n} => {\n const halfRange = 2;\n const minMiddleItems = 5;\n\n // return if totalPages is less than minMiddleItems\n if (totalPages <= minMiddleItems) {\n return {\n middleItems: Array.from({ length: totalPages - 2 }, (_, index) => index + 2),\n showStartEllipsis: false,\n showEndEllipsis: false,\n firstItem: 1,\n lastItem: totalPages,\n };\n }\n\n let start = Math.max(1, currentSelection - halfRange);\n let end = Math.min(totalPages, start + 2 * halfRange);\n\n // Ensure at least minMiddleItems items in middleItems\n while (end - start + 1 < minMiddleItems && (start > 1 || end < totalPages)) {\n if (start > 1) {\n start--;\n }\n if (end < totalPages) {\n end++;\n }\n }\n\n let showStartEllipsis = false;\n let showEndEllipsis = false;\n\n const paginationButtons: number[] = [];\n for (let i = start; i <= end; i++) {\n paginationButtons.push(i);\n }\n\n // if paginationButtons contains 1, remove it\n if (paginationButtons.includes(1)) {\n paginationButtons.shift();\n // add an extra item at the end if length of total pages is greater than minMiddleItems+1\n if (totalPages > minMiddleItems + 1) paginationButtons.push(end + 1);\n }\n\n // if paginationButtons contains totalPages, remove it\n if (paginationButtons.includes(totalPages)) {\n paginationButtons.pop();\n // add an extra item at the beginning if length of total pages is greater than minMiddleItems+1\n if (totalPages > minMiddleItems + 1) paginationButtons.unshift(start - 1);\n }\n\n if (paginationButtons[0] > 2) {\n showStartEllipsis = true;\n }\n\n if (paginationButtons[paginationButtons.length - 1] + 1 < totalPages) {\n showEndEllipsis = true;\n }\n\n return {\n middleItems: paginationButtons,\n showStartEllipsis,\n showEndEllipsis,\n firstItem: 1,\n lastItem: totalPages,\n };\n};\n\nconst _TablePagination = ({\n currentPage: controlledCurrentPage,\n onPageChange,\n onPageSizeChange,\n defaultPageSize = tablePagination.defaultPageSize,\n showPageSizePicker = true,\n showPageNumberSelector = false,\n showLabel,\n label,\n}: TablePaginationProps): React.ReactElement => {\n const {\n setPaginationPage,\n currentPaginationState,\n totalItems,\n setPaginationRowSize,\n } = useTableContext();\n const [currentPageSize, setCurrentPageSize] = React.useState<number>(defaultPageSize);\n const [currentPage, setCurrentPage] = React.useState<number>(\n !isUndefined(controlledCurrentPage) ? controlledCurrentPage : currentPaginationState?.page ?? 0,\n );\n const [currentEllipseHover, setCurrentEllipseHover] = React.useState<'start' | 'end' | undefined>(\n undefined,\n );\n\n const defaultLabel = currentPaginationState\n ? `Showing ${currentPaginationState.page * currentPaginationState.size + 1}-${\n currentPaginationState.page * currentPaginationState.size + currentPaginationState.size\n } Items`\n : `Showing 1 to ${totalItems} Items`;\n\n const { platform } = useTheme();\n const onMobile = platform === 'onMobile';\n useEffect(() => {\n setPaginationRowSize(currentPageSize);\n }, []);\n\n useEffect(() => {\n if (currentPage && currentPaginationState?.page !== currentPage) {\n setPaginationPage(currentPage);\n }\n }, [currentPage, currentPaginationState?.page, setPaginationPage]);\n\n const totalPages = Math.ceil(totalItems / currentPageSize);\n\n const handlePageChange = useCallback(\n (page: number): void => {\n let pageToJumpTo = page;\n if (pageToJumpTo < 0) {\n pageToJumpTo = 0;\n } else if (pageToJumpTo > totalPages - 1) {\n pageToJumpTo = totalPages - 1;\n }\n\n onPageChange?.({ page: pageToJumpTo });\n\n if (!isUndefined(controlledCurrentPage)) {\n pageToJumpTo = controlledCurrentPage;\n }\n setPaginationPage(pageToJumpTo);\n setCurrentPage(pageToJumpTo);\n },\n [controlledCurrentPage, onPageChange, setPaginationPage, totalPages],\n );\n\n useEffect(() => {\n if (!isUndefined(controlledCurrentPage) && controlledCurrentPage !== currentPage) {\n handlePageChange(controlledCurrentPage);\n }\n }, [controlledCurrentPage, currentPage, handlePageChange, onPageChange]);\n\n const handlePageSizeChange = (pageSize: number): void => {\n onPageSizeChange?.({ pageSize });\n setPaginationRowSize(pageSize);\n setCurrentPageSize(pageSize);\n };\n\n const shouldDisableNextPage = (): boolean => {\n return currentPage >= totalPages - 1;\n };\n const paginationButtons = getPaginationButtons({\n currentSelection: currentPage + 1,\n totalPages,\n });\n\n return (\n <BaseBox\n display=\"flex\"\n flexDirection=\"row\"\n padding={tablePagination.padding}\n backgroundColor={tablePagination.backgroundColor}\n >\n {showLabel && !onMobile && (\n <BaseBox display=\"flex\" justifyContent=\"center\" alignItems=\"center\">\n <Text size=\"medium\" weight=\"semibold\">\n {label ?? defaultLabel}\n </Text>\n </BaseBox>\n )}\n <BaseBox\n display=\"flex\"\n flex={1}\n gap=\"spacing.2\"\n justifyContent=\"flex-end\"\n alignItems=\"center\"\n >\n {showPageSizePicker && !onMobile && (\n <BaseBox display=\"flex\" flexDirection=\"row\" alignItems=\"center\">\n <Dropdown selectionType=\"single\">\n <SelectInput\n accessibilityLabel=\"Select pages per row\"\n name=\"page-size\"\n label=\"\"\n labelPosition=\"inside-input\"\n placeholder=\"\"\n onChange={({ values }) => {\n handlePageSizeChange(Number(values[0]));\n }}\n defaultValue={currentPageSize.toString()}\n />\n <DropdownOverlay>\n <ActionList>\n {pageSizeOptions.map((item, index) => (\n <ActionListItem key={index} title={item.toString()} value={item.toString()} />\n ))}\n </ActionList>\n </DropdownOverlay>\n </Dropdown>\n <BaseBox aria-hidden paddingLeft=\"spacing.3\" paddingRight=\"spacing.3\">\n <Text>rows / page</Text>\n </BaseBox>\n </BaseBox>\n )}\n <BaseBox\n display=\"flex\"\n flexDirection=\"row\"\n gap=\"spacing.2\"\n flex={onMobile ? 1 : undefined}\n alignItems=\"center\"\n >\n <Button\n icon={ChevronLeftIcon}\n accessibilityLabel=\"Previous Page\"\n variant=\"tertiary\"\n onClick={() => {\n handlePageChange(currentPage - 1);\n }}\n isDisabled={currentPage <= 0}\n />\n {onMobile && (\n <BaseBox flex={1} alignItems=\"center\" justifyContent=\"center\">\n <Text textAlign=\"center\">{`Showing ${currentPage + 1} of ${totalPages} pages`}</Text>\n </BaseBox>\n )}\n {totalPages > 1 && showPageNumberSelector && !onMobile && (\n <BaseBox gap=\"spacing.1\" display=\"flex\" flexDirection=\"row\">\n <PageSelectionButton\n onClick={() => handlePageChange(paginationButtons.firstItem - 1)}\n isSelected={currentPage === paginationButtons.firstItem - 1}\n >\n <Text\n size=\"medium\"\n color={\n currentPage === paginationButtons.firstItem - 1\n ? tablePagination.pageSelectionButton.textColorSelected\n : tablePagination.pageSelectionButton.textColor\n }\n >\n {paginationButtons.firstItem}\n </Text>\n </PageSelectionButton>\n {paginationButtons.showStartEllipsis && (\n <PageSelectionButton\n onClick={() => handlePageChange(currentPage - 5)}\n onMouseOver={() => setCurrentEllipseHover('start')}\n onMouseLeave={() => setCurrentEllipseHover(undefined)}\n onFocus={() => setCurrentEllipseHover('start')}\n onBlur={() => setCurrentEllipseHover(undefined)}\n {...makeAccessible({ label: 'Go back 5 pages' })}\n >\n {currentEllipseHover === 'start' ? (\n <ChevronsLeftIcon size=\"medium\" />\n ) : (\n <MoreHorizontalIcon size=\"medium\" />\n )}\n </PageSelectionButton>\n )}\n {paginationButtons.middleItems.map((item) => (\n <PageSelectionButton\n key={item - 1}\n onClick={() => handlePageChange(item - 1)}\n isSelected={currentPage === item - 1}\n {...makeAccessible({ label: `Page ${item}` })}\n >\n <Text\n size=\"medium\"\n color={\n currentPage === item - 1\n ? tablePagination.pageSelectionButton.textColorSelected\n : tablePagination.pageSelectionButton.textColor\n }\n >\n {item}\n </Text>\n </PageSelectionButton>\n ))}\n {paginationButtons.showEndEllipsis && (\n <PageSelectionButton\n onClick={() => handlePageChange(currentPage + 5)}\n onMouseOver={() => setCurrentEllipseHover('end')}\n onMouseLeave={() => setCurrentEllipseHover(undefined)}\n onFocus={() => setCurrentEllipseHover('end')}\n onBlur={() => setCurrentEllipseHover(undefined)}\n {...makeAccessible({ label: 'Go forward 5 pages' })}\n >\n {currentEllipseHover === 'end' ? (\n <ChevronsRightIcon size=\"medium\" />\n ) : (\n <MoreHorizontalIcon size=\"medium\" />\n )}\n </PageSelectionButton>\n )}\n <PageSelectionButton\n onClick={() => handlePageChange(paginationButtons.lastItem - 1)}\n isSelected={currentPage === paginationButtons.lastItem - 1}\n >\n <Text\n size=\"medium\"\n color={\n currentPage === paginationButtons.lastItem - 1\n ? tablePagination.pageSelectionButton.textColorSelected\n : tablePagination.pageSelectionButton.textColor\n }\n >\n {paginationButtons.lastItem}\n </Text>\n </PageSelectionButton>\n </BaseBox>\n )}\n <Button\n variant=\"tertiary\"\n icon={ChevronRightIcon}\n accessibilityLabel=\"Next Page\"\n onClick={() => {\n handlePageChange(currentPage + 1);\n }}\n isDisabled={shouldDisableNextPage()}\n />\n </BaseBox>\n </BaseBox>\n </BaseBox>\n );\n};\n\nconst TablePagination = assignWithoutSideEffects(_TablePagination, {\n componentId: ComponentIds.TablePagination,\n});\n\nexport { TablePagination };\n"],"names":["pageSizeOptions","PageSelectionButton","styled","button","withConfig","displayName","componentId","_ref","theme","isSelected","backgroundColor","getIn","colors","tablePagination","pageSelectionButton","backgroundColorSelected","border","cursor","height","makeSize","width","display","alignItems","justifyContent","borderRadius","radius","backgroundColorSelectedHover","backgroundColorHover","backgroundColorSelectedActive","backgroundColorActive","outline","getFocusRingStyles","getPaginationButtons","_ref2","currentSelection","totalPages","halfRange","minMiddleItems","middleItems","Array","from","length","_","index","showStartEllipsis","showEndEllipsis","firstItem","lastItem","start","Math","max","end","min","paginationButtons","i","push","includes","shift","pop","unshift","_TablePagination","_ref3","_currentPaginationSta","controlledCurrentPage","currentPage","onPageChange","onPageSizeChange","_ref3$defaultPageSize","defaultPageSize","_ref3$showPageSizePic","showPageSizePicker","_ref3$showPageNumberS","showPageNumberSelector","showLabel","label","_useTableContext","useTableContext","setPaginationPage","currentPaginationState","totalItems","setPaginationRowSize","_React$useState","React","useState","_React$useState2","_slicedToArray","currentPageSize","setCurrentPageSize","_React$useState3","isUndefined","page","_React$useState4","setCurrentPage","_React$useState5","undefined","_React$useState6","currentEllipseHover","setCurrentEllipseHover","defaultLabel","concat","size","_useTheme","useTheme","platform","onMobile","useEffect","ceil","handlePageChange","useCallback","pageToJumpTo","handlePageSizeChange","pageSize","shouldDisableNextPage","_jsxs","BaseBox","flexDirection","padding","children","_jsx","Text","weight","flex","gap","Dropdown","selectionType","SelectInput","accessibilityLabel","name","labelPosition","placeholder","onChange","_ref4","values","Number","defaultValue","toString","DropdownOverlay","ActionList","map","item","ActionListItem","title","value","paddingLeft","paddingRight","Button","icon","ChevronLeftIcon","variant","onClick","isDisabled","textAlign","color","textColorSelected","textColor","_objectSpread","onMouseOver","onMouseLeave","onFocus","onBlur","makeAccessible","ChevronsLeftIcon","MoreHorizontalIcon","ChevronsRightIcon","ChevronRightIcon","TablePagination","assignWithoutSideEffects","ComponentIds"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"TablePagination.web.js","sources":["../../../../../../src/components/Table/TablePagination.web.tsx"],"sourcesContent":["import React, { useCallback, useEffect } from 'react';\nimport styled from 'styled-components';\nimport { useTableContext } from './TableContext';\nimport { ComponentIds } from './componentIds';\nimport { tablePagination } from './tokens';\nimport type { TablePaginationCommonProps, TablePaginationProps } from './types';\nimport isUndefined from '~utils/lodashButBetter/isUndefined';\nimport getIn from '~utils/lodashButBetter/get';\nimport BaseBox from '~components/Box/BaseBox';\nimport {\n ChevronLeftIcon,\n ChevronRightIcon,\n ChevronsLeftIcon,\n ChevronsRightIcon,\n MoreHorizontalIcon,\n} from '~components/Icons';\nimport { Dropdown, DropdownOverlay } from '~components/Dropdown';\nimport { SelectInput } from '~components/Input/DropdownInputTriggers';\nimport { ActionList, ActionListItem } from '~components/ActionList';\nimport { Text } from '~components/Typography';\nimport { makeSize } from '~utils';\nimport { Button } from '~components/Button';\nimport { makeAccessible } from '~utils/makeAccessible';\nimport { assignWithoutSideEffects } from '~utils/assignWithoutSideEffects';\nimport { useTheme } from '~components/BladeProvider';\nimport { throwBladeError } from '~utils/logger';\nimport { getFocusRingStyles } from '~utils/getFocusRingStyles';\n\nconst pageSizeOptions: NonNullable<TablePaginationCommonProps['defaultPageSize']>[] = [10, 25, 50];\n\nconst PageSelectionButton = styled.button<{ isSelected?: boolean }>(({ theme, isSelected }) => ({\n backgroundColor: isSelected\n ? getIn(theme.colors, tablePagination.pageSelectionButton.backgroundColorSelected)\n : 'transparent',\n border: 'none',\n cursor: 'pointer',\n height: makeSize(tablePagination.pageSelectionButton.height),\n width: makeSize(tablePagination.pageSelectionButton.width),\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n borderRadius: getIn(theme.border.radius, tablePagination.pageSelectionButton.borderRadius),\n '&:hover': {\n backgroundColor: isSelected\n ? getIn(theme.colors, tablePagination.pageSelectionButton.backgroundColorSelectedHover)\n : getIn(theme.colors, tablePagination.pageSelectionButton.backgroundColorHover),\n },\n '&:focus-visible': {\n backgroundColor: isSelected\n ? getIn(theme.colors, tablePagination.pageSelectionButton.backgroundColorSelectedActive)\n : getIn(theme.colors, tablePagination.pageSelectionButton.backgroundColorActive),\n outline: 'none',\n '&:focus-visible': getFocusRingStyles({ theme }),\n },\n '&:active': {\n backgroundColor: isSelected\n ? getIn(theme.colors, tablePagination.pageSelectionButton.backgroundColorSelectedActive)\n : getIn(theme.colors, tablePagination.pageSelectionButton.backgroundColorActive),\n },\n}));\nconst getPaginationButtons = ({\n currentSelection,\n totalPages,\n}: {\n currentSelection: number;\n totalPages: number;\n}): {\n middleItems: number[];\n showStartEllipsis: boolean;\n showEndEllipsis: boolean;\n firstItem: number;\n lastItem: number;\n} => {\n const halfRange = 2;\n const minMiddleItems = 5;\n\n // return if totalPages is less than minMiddleItems\n if (totalPages <= minMiddleItems) {\n return {\n middleItems: Array.from({ length: totalPages - 2 }, (_, index) => index + 2),\n showStartEllipsis: false,\n showEndEllipsis: false,\n firstItem: 1,\n lastItem: totalPages,\n };\n }\n\n let start = Math.max(1, currentSelection - halfRange);\n let end = Math.min(totalPages, start + 2 * halfRange);\n\n // Ensure at least minMiddleItems items in middleItems\n while (end - start + 1 < minMiddleItems && (start > 1 || end < totalPages)) {\n if (start > 1) {\n start--;\n }\n if (end < totalPages) {\n end++;\n }\n }\n\n let showStartEllipsis = false;\n let showEndEllipsis = false;\n\n const paginationButtons: number[] = [];\n for (let i = start; i <= end; i++) {\n paginationButtons.push(i);\n }\n\n // if paginationButtons contains 1, remove it\n if (paginationButtons.includes(1)) {\n paginationButtons.shift();\n // add an extra item at the end if length of total pages is greater than minMiddleItems+1\n if (totalPages > minMiddleItems + 1) paginationButtons.push(end + 1);\n }\n\n // if paginationButtons contains totalPages, remove it\n if (paginationButtons.includes(totalPages)) {\n paginationButtons.pop();\n // add an extra item at the beginning if length of total pages is greater than minMiddleItems+1\n if (totalPages > minMiddleItems + 1) paginationButtons.unshift(start - 1);\n }\n\n if (paginationButtons[0] > 2) {\n showStartEllipsis = true;\n }\n\n if (paginationButtons[paginationButtons.length - 1] + 1 < totalPages) {\n showEndEllipsis = true;\n }\n\n return {\n middleItems: paginationButtons,\n showStartEllipsis,\n showEndEllipsis,\n firstItem: 1,\n lastItem: totalPages,\n };\n};\n\nconst _TablePagination = ({\n currentPage: controlledCurrentPage,\n onPageChange,\n onPageSizeChange,\n defaultPageSize = tablePagination.defaultPageSize,\n showPageSizePicker = true,\n showPageNumberSelector = false,\n showLabel,\n label,\n totalItemCount,\n paginationType = 'client',\n}: TablePaginationProps): React.ReactElement => {\n const {\n setPaginationPage,\n currentPaginationState,\n totalItems,\n setPaginationRowSize,\n setPaginationType,\n } = useTableContext();\n const [currentPageSize, setCurrentPageSize] = React.useState<number>(defaultPageSize);\n const [currentPage, setCurrentPage] = React.useState<number>(\n !isUndefined(controlledCurrentPage) ? controlledCurrentPage : currentPaginationState?.page ?? 0,\n );\n const [currentEllipseHover, setCurrentEllipseHover] = React.useState<'start' | 'end' | undefined>(\n undefined,\n );\n\n const defaultLabel = currentPaginationState\n ? `Showing ${currentPaginationState.page * currentPaginationState.size + 1}-${\n currentPaginationState.page * currentPaginationState.size + currentPaginationState.size\n } Items`\n : `Showing 1 to ${totalItems} Items`;\n\n const { platform } = useTheme();\n const onMobile = platform === 'onMobile';\n useEffect(() => {\n setPaginationRowSize(currentPageSize);\n setPaginationType(paginationType);\n }, []);\n\n useEffect(() => {\n if (currentPage && currentPaginationState?.page !== currentPage) {\n setPaginationPage(currentPage);\n }\n }, [currentPage, currentPaginationState?.page, setPaginationPage]);\n\n const totalPages = isUndefined(totalItemCount)\n ? Math.ceil(totalItems / currentPageSize)\n : Math.ceil(totalItemCount / currentPageSize);\n\n const handlePageChange = useCallback(\n (page: number): void => {\n let pageToJumpTo = page;\n if (pageToJumpTo < 0) {\n pageToJumpTo = 0;\n } else if (pageToJumpTo > totalPages - 1) {\n pageToJumpTo = totalPages - 1;\n }\n\n onPageChange?.({ page: pageToJumpTo });\n\n if (!isUndefined(controlledCurrentPage)) {\n pageToJumpTo = controlledCurrentPage;\n }\n setPaginationPage(pageToJumpTo);\n setCurrentPage(pageToJumpTo);\n },\n [controlledCurrentPage, onPageChange, setPaginationPage, totalPages],\n );\n\n useEffect(() => {\n if (!isUndefined(controlledCurrentPage) && controlledCurrentPage !== currentPage) {\n handlePageChange(controlledCurrentPage);\n }\n }, [controlledCurrentPage, currentPage, handlePageChange, onPageChange]);\n\n if (__DEV__) {\n if (paginationType === 'server' && (isUndefined(totalItemCount) || isUndefined(onPageChange))) {\n throwBladeError({\n message:\n '`onPageChange` and `totalItemCount` props are required when paginationType is server.',\n moduleName: 'TablePagination',\n });\n }\n }\n\n const handlePageSizeChange = (pageSize: number): void => {\n onPageSizeChange?.({ pageSize });\n setPaginationRowSize(pageSize);\n setCurrentPageSize(pageSize);\n };\n\n const shouldDisableNextPage = (): boolean => {\n return currentPage >= totalPages - 1;\n };\n const paginationButtons = getPaginationButtons({\n currentSelection: currentPage + 1,\n totalPages,\n });\n\n return (\n <BaseBox\n display=\"flex\"\n flexDirection=\"row\"\n padding={tablePagination.padding}\n backgroundColor={tablePagination.backgroundColor}\n >\n {showLabel && !onMobile && (\n <BaseBox display=\"flex\" justifyContent=\"center\" alignItems=\"center\">\n <Text size=\"medium\" weight=\"semibold\">\n {label ?? defaultLabel}\n </Text>\n </BaseBox>\n )}\n <BaseBox\n display=\"flex\"\n flex={1}\n gap=\"spacing.2\"\n justifyContent=\"flex-end\"\n alignItems=\"center\"\n >\n {showPageSizePicker && !onMobile && (\n <BaseBox display=\"flex\" flexDirection=\"row\" alignItems=\"center\">\n <Dropdown selectionType=\"single\">\n <SelectInput\n accessibilityLabel=\"Select pages per row\"\n name=\"page-size\"\n label=\"\"\n labelPosition=\"inside-input\"\n placeholder=\"\"\n onChange={({ values }) => {\n handlePageSizeChange(Number(values[0]));\n }}\n defaultValue={currentPageSize.toString()}\n />\n <DropdownOverlay>\n <ActionList>\n {pageSizeOptions.map((item, index) => (\n <ActionListItem key={index} title={item.toString()} value={item.toString()} />\n ))}\n </ActionList>\n </DropdownOverlay>\n </Dropdown>\n <BaseBox aria-hidden paddingLeft=\"spacing.3\" paddingRight=\"spacing.3\">\n <Text>rows / page</Text>\n </BaseBox>\n </BaseBox>\n )}\n <BaseBox\n display=\"flex\"\n flexDirection=\"row\"\n gap=\"spacing.2\"\n flex={onMobile ? 1 : undefined}\n alignItems=\"center\"\n >\n <Button\n icon={ChevronLeftIcon}\n accessibilityLabel=\"Previous Page\"\n variant=\"tertiary\"\n onClick={() => {\n handlePageChange(currentPage - 1);\n }}\n isDisabled={currentPage <= 0}\n />\n {onMobile && (\n <BaseBox flex={1} alignItems=\"center\" justifyContent=\"center\">\n <Text textAlign=\"center\">{`Showing ${currentPage + 1} of ${totalPages} pages`}</Text>\n </BaseBox>\n )}\n {totalPages > 1 && showPageNumberSelector && !onMobile && (\n <BaseBox gap=\"spacing.1\" display=\"flex\" flexDirection=\"row\">\n <PageSelectionButton\n onClick={() => handlePageChange(paginationButtons.firstItem - 1)}\n isSelected={currentPage === paginationButtons.firstItem - 1}\n >\n <Text\n size=\"medium\"\n color={\n currentPage === paginationButtons.firstItem - 1\n ? tablePagination.pageSelectionButton.textColorSelected\n : tablePagination.pageSelectionButton.textColor\n }\n >\n {paginationButtons.firstItem}\n </Text>\n </PageSelectionButton>\n {paginationButtons.showStartEllipsis && (\n <PageSelectionButton\n onClick={() => handlePageChange(currentPage - 5)}\n onMouseOver={() => setCurrentEllipseHover('start')}\n onMouseLeave={() => setCurrentEllipseHover(undefined)}\n onFocus={() => setCurrentEllipseHover('start')}\n onBlur={() => setCurrentEllipseHover(undefined)}\n {...makeAccessible({ label: 'Go back 5 pages' })}\n >\n {currentEllipseHover === 'start' ? (\n <ChevronsLeftIcon size=\"medium\" />\n ) : (\n <MoreHorizontalIcon size=\"medium\" />\n )}\n </PageSelectionButton>\n )}\n {paginationButtons.middleItems.map((item) => (\n <PageSelectionButton\n key={item - 1}\n onClick={() => handlePageChange(item - 1)}\n isSelected={currentPage === item - 1}\n {...makeAccessible({ label: `Page ${item}` })}\n >\n <Text\n size=\"medium\"\n color={\n currentPage === item - 1\n ? tablePagination.pageSelectionButton.textColorSelected\n : tablePagination.pageSelectionButton.textColor\n }\n >\n {item}\n </Text>\n </PageSelectionButton>\n ))}\n {paginationButtons.showEndEllipsis && (\n <PageSelectionButton\n onClick={() => handlePageChange(currentPage + 5)}\n onMouseOver={() => setCurrentEllipseHover('end')}\n onMouseLeave={() => setCurrentEllipseHover(undefined)}\n onFocus={() => setCurrentEllipseHover('end')}\n onBlur={() => setCurrentEllipseHover(undefined)}\n {...makeAccessible({ label: 'Go forward 5 pages' })}\n >\n {currentEllipseHover === 'end' ? (\n <ChevronsRightIcon size=\"medium\" />\n ) : (\n <MoreHorizontalIcon size=\"medium\" />\n )}\n </PageSelectionButton>\n )}\n <PageSelectionButton\n onClick={() => handlePageChange(paginationButtons.lastItem - 1)}\n isSelected={currentPage === paginationButtons.lastItem - 1}\n >\n <Text\n size=\"medium\"\n color={\n currentPage === paginationButtons.lastItem - 1\n ? tablePagination.pageSelectionButton.textColorSelected\n : tablePagination.pageSelectionButton.textColor\n }\n >\n {paginationButtons.lastItem}\n </Text>\n </PageSelectionButton>\n </BaseBox>\n )}\n <Button\n variant=\"tertiary\"\n icon={ChevronRightIcon}\n accessibilityLabel=\"Next Page\"\n onClick={() => {\n handlePageChange(currentPage + 1);\n }}\n isDisabled={shouldDisableNextPage()}\n />\n </BaseBox>\n </BaseBox>\n </BaseBox>\n );\n};\n\nconst TablePagination = assignWithoutSideEffects(_TablePagination, {\n componentId: ComponentIds.TablePagination,\n});\n\nexport { TablePagination };\n"],"names":["pageSizeOptions","PageSelectionButton","styled","button","withConfig","displayName","componentId","_ref","theme","isSelected","backgroundColor","getIn","colors","tablePagination","pageSelectionButton","backgroundColorSelected","border","cursor","height","makeSize","width","display","alignItems","justifyContent","borderRadius","radius","backgroundColorSelectedHover","backgroundColorHover","backgroundColorSelectedActive","backgroundColorActive","outline","getFocusRingStyles","getPaginationButtons","_ref2","currentSelection","totalPages","halfRange","minMiddleItems","middleItems","Array","from","length","_","index","showStartEllipsis","showEndEllipsis","firstItem","lastItem","start","Math","max","end","min","paginationButtons","i","push","includes","shift","pop","unshift","_TablePagination","_ref3","_currentPaginationSta","controlledCurrentPage","currentPage","onPageChange","onPageSizeChange","_ref3$defaultPageSize","defaultPageSize","_ref3$showPageSizePic","showPageSizePicker","_ref3$showPageNumberS","showPageNumberSelector","showLabel","label","totalItemCount","_ref3$paginationType","paginationType","_useTableContext","useTableContext","setPaginationPage","currentPaginationState","totalItems","setPaginationRowSize","setPaginationType","_React$useState","React","useState","_React$useState2","_slicedToArray","currentPageSize","setCurrentPageSize","_React$useState3","isUndefined","page","_React$useState4","setCurrentPage","_React$useState5","undefined","_React$useState6","currentEllipseHover","setCurrentEllipseHover","defaultLabel","concat","size","_useTheme","useTheme","platform","onMobile","useEffect","ceil","handlePageChange","useCallback","pageToJumpTo","throwBladeError","message","moduleName","handlePageSizeChange","pageSize","shouldDisableNextPage","_jsxs","BaseBox","flexDirection","padding","children","_jsx","Text","weight","flex","gap","Dropdown","selectionType","SelectInput","accessibilityLabel","name","labelPosition","placeholder","onChange","_ref4","values","Number","defaultValue","toString","DropdownOverlay","ActionList","map","item","ActionListItem","title","value","paddingLeft","paddingRight","Button","icon","ChevronLeftIcon","variant","onClick","isDisabled","textAlign","color","textColorSelected","textColor","_objectSpread","onMouseOver","onMouseLeave","onFocus","onBlur","makeAccessible","ChevronsLeftIcon","MoreHorizontalIcon","ChevronsRightIcon","ChevronRightIcon","TablePagination","assignWithoutSideEffects","ComponentIds"],"mappings":"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"}
|
|
@@ -53,17 +53,10 @@ var Tooltip = function Tooltip(_ref) {
|
|
|
53
53
|
open: isOpen,
|
|
54
54
|
strategy: 'fixed',
|
|
55
55
|
onOpenChange: function onOpenChange(open) {
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
});
|
|
61
|
-
} else {
|
|
62
|
-
setIsOpen(false);
|
|
63
|
-
_onOpenChange === null || _onOpenChange === void 0 ? void 0 : _onOpenChange({
|
|
64
|
-
isOpen: open
|
|
65
|
-
});
|
|
66
|
-
}
|
|
56
|
+
setIsOpen(open);
|
|
57
|
+
_onOpenChange === null || _onOpenChange === void 0 ? void 0 : _onOpenChange({
|
|
58
|
+
isOpen: open
|
|
59
|
+
});
|
|
67
60
|
},
|
|
68
61
|
middleware: [shift({
|
|
69
62
|
crossAxis: false,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Tooltip.web.js","sources":["../../../../../../src/components/Tooltip/Tooltip.web.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/restrict-plus-operands */\nimport {\n shift,\n FloatingPortal,\n arrow,\n flip,\n offset,\n useDelayGroup,\n useDelayGroupContext,\n useFloating,\n useFocus,\n useHover,\n useInteractions,\n useRole,\n useTransitionStyles,\n autoUpdate,\n} from '@floating-ui/react';\nimport React from 'react';\nimport type { TooltipProps } from './types';\nimport { TooltipContent } from './TooltipContent';\nimport { ARROW_HEIGHT, ARROW_WIDTH, tooltipZIndex } from './constants';\nimport { TooltipContext } from './TooltipContext';\nimport { useTheme } from '~components/BladeProvider';\nimport BaseBox from '~components/Box/BaseBox';\nimport { metaAttribute, MetaConstants } from '~utils/metaAttribute';\nimport { size } from '~tokens/global';\nimport { useId } from '~utils/useId';\nimport { makeAccessible } from '~utils/makeAccessible';\nimport { mergeProps } from '~utils/mergeProps';\nimport { PopupArrow } from '~components/PopupArrow';\nimport { getFloatingPlacementParts } from '~utils/getFloatingPlacementParts';\n\nconst Tooltip = ({\n title,\n content,\n children,\n placement = 'top',\n onOpenChange,\n zIndex = tooltipZIndex,\n}: TooltipProps): React.ReactElement => {\n const { theme } = useTheme();\n const id = useId();\n const [isOpen, setIsOpen] = React.useState(false);\n const arrowRef = React.useRef<SVGSVGElement>(null);\n\n const GAP = theme.spacing[2];\n const [side] = getFloatingPlacementParts(placement);\n const isHorizontal = side === 'left' || side === 'right';\n const isOppositeAxis = side === 'right' || side === 'bottom';\n\n const { refs, floatingStyles, context } = useFloating({\n placement,\n open: isOpen,\n strategy: 'fixed',\n onOpenChange: (open) => {\n if (open) {\n setIsOpen(true);\n onOpenChange?.({ isOpen: open });\n } else {\n setIsOpen(false);\n onOpenChange?.({ isOpen: open });\n }\n },\n middleware: [\n shift({ crossAxis: false, padding: GAP }),\n flip({ padding: GAP }),\n offset(GAP + ARROW_HEIGHT),\n arrow({\n element: arrowRef,\n padding: isHorizontal ? 0 : ARROW_WIDTH,\n }),\n ],\n whileElementsMounted: autoUpdate,\n });\n\n const animationOffset = isOppositeAxis ? -size[4] : size[4];\n const { isMounted, styles } = useTransitionStyles(context, {\n duration: theme.motion.duration.quick,\n initial: {\n opacity: 0,\n transform: `translate${isHorizontal ? 'X' : 'Y'}(${animationOffset}px)`,\n },\n });\n\n useDelayGroup(context, { id });\n const { delay } = useDelayGroupContext();\n const hover = useHover(context, {\n delay,\n move: false,\n });\n const focus = useFocus(context);\n const role = useRole(context, { role: 'tooltip' });\n const { getReferenceProps, getFloatingProps } = useInteractions([role, hover, focus]);\n\n return (\n <TooltipContext.Provider value={true}>\n {/* Cloning the trigger children to enhance it with ref and event handler */}\n {React.cloneElement(children, {\n ref: refs.setReference,\n ...makeAccessible({ label: content }),\n ...mergeProps(children.props, getReferenceProps()),\n })}\n {isMounted && (\n <FloatingPortal>\n <BaseBox\n ref={refs.setFloating}\n style={floatingStyles}\n pointerEvents=\"none\"\n // TODO: Tokenize zIndex values\n zIndex={zIndex}\n {...getFloatingProps()}\n {...metaAttribute({ name: MetaConstants.Tooltip })}\n >\n <TooltipContent\n title={title}\n style={styles}\n arrow={\n <PopupArrow\n ref={arrowRef}\n context={context}\n width={ARROW_WIDTH}\n height={ARROW_HEIGHT}\n fillColor={theme.colors.popup.background.intense}\n strokeColor={theme.colors.popup.border.intense}\n />\n }\n >\n {content}\n </TooltipContent>\n </BaseBox>\n </FloatingPortal>\n )}\n </TooltipContext.Provider>\n );\n};\n\nexport { Tooltip };\n"],"names":["Tooltip","_ref","title","content","children","_ref$placement","placement","onOpenChange","_ref$zIndex","zIndex","tooltipZIndex","_useTheme","useTheme","theme","id","useId","_React$useState","React","useState","_React$useState2","_slicedToArray","isOpen","setIsOpen","arrowRef","useRef","GAP","spacing","_getFloatingPlacement","getFloatingPlacementParts","_getFloatingPlacement2","side","isHorizontal","isOppositeAxis","_useFloating","useFloating","open","strategy","middleware","shift","crossAxis","padding","flip","offset","ARROW_HEIGHT","arrow","element","ARROW_WIDTH","whileElementsMounted","autoUpdate","refs","floatingStyles","context","animationOffset","size","_useTransitionStyles","useTransitionStyles","duration","motion","quick","initial","opacity","transform","concat","isMounted","styles","useDelayGroup","_useDelayGroupContext","useDelayGroupContext","delay","hover","useHover","move","focus","useFocus","role","useRole","_useInteractions","useInteractions","getReferenceProps","getFloatingProps","_jsxs","TooltipContext","Provider","value","cloneElement","_objectSpread","ref","setReference","makeAccessible","label","mergeProps","props","_jsx","FloatingPortal","BaseBox","setFloating","style","pointerEvents","metaAttribute","name","MetaConstants","TooltipContent","PopupArrow","width","height","fillColor","colors","popup","background","intense","strokeColor","border"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Tooltip.web.js","sources":["../../../../../../src/components/Tooltip/Tooltip.web.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/restrict-plus-operands */\nimport {\n shift,\n FloatingPortal,\n arrow,\n flip,\n offset,\n useDelayGroup,\n useDelayGroupContext,\n useFloating,\n useFocus,\n useHover,\n useInteractions,\n useRole,\n useTransitionStyles,\n autoUpdate,\n} from '@floating-ui/react';\nimport React from 'react';\nimport type { TooltipProps } from './types';\nimport { TooltipContent } from './TooltipContent';\nimport { ARROW_HEIGHT, ARROW_WIDTH, tooltipZIndex } from './constants';\nimport { TooltipContext } from './TooltipContext';\nimport { useTheme } from '~components/BladeProvider';\nimport BaseBox from '~components/Box/BaseBox';\nimport { metaAttribute, MetaConstants } from '~utils/metaAttribute';\nimport { size } from '~tokens/global';\nimport { useId } from '~utils/useId';\nimport { makeAccessible } from '~utils/makeAccessible';\nimport { mergeProps } from '~utils/mergeProps';\nimport { PopupArrow } from '~components/PopupArrow';\nimport { getFloatingPlacementParts } from '~utils/getFloatingPlacementParts';\n\nconst Tooltip = ({\n title,\n content,\n children,\n placement = 'top',\n onOpenChange,\n zIndex = tooltipZIndex,\n}: TooltipProps): React.ReactElement => {\n const { theme } = useTheme();\n const id = useId();\n const [isOpen, setIsOpen] = React.useState(false);\n const arrowRef = React.useRef<SVGSVGElement>(null);\n\n const GAP = theme.spacing[2];\n const [side] = getFloatingPlacementParts(placement);\n const isHorizontal = side === 'left' || side === 'right';\n const isOppositeAxis = side === 'right' || side === 'bottom';\n\n const { refs, floatingStyles, context } = useFloating({\n placement,\n open: isOpen,\n strategy: 'fixed',\n onOpenChange: (open) => {\n setIsOpen(open);\n onOpenChange?.({ isOpen: open });\n },\n middleware: [\n shift({ crossAxis: false, padding: GAP }),\n flip({ padding: GAP }),\n offset(GAP + ARROW_HEIGHT),\n arrow({\n element: arrowRef,\n padding: isHorizontal ? 0 : ARROW_WIDTH,\n }),\n ],\n whileElementsMounted: autoUpdate,\n });\n\n const animationOffset = isOppositeAxis ? -size[4] : size[4];\n const { isMounted, styles } = useTransitionStyles(context, {\n duration: theme.motion.duration.quick,\n initial: {\n opacity: 0,\n transform: `translate${isHorizontal ? 'X' : 'Y'}(${animationOffset}px)`,\n },\n });\n\n useDelayGroup(context, { id });\n const { delay } = useDelayGroupContext();\n const hover = useHover(context, {\n delay,\n move: false,\n });\n const focus = useFocus(context);\n const role = useRole(context, { role: 'tooltip' });\n const { getReferenceProps, getFloatingProps } = useInteractions([role, hover, focus]);\n\n return (\n <TooltipContext.Provider value={true}>\n {/* Cloning the trigger children to enhance it with ref and event handler */}\n {React.cloneElement(children, {\n ref: refs.setReference,\n ...makeAccessible({ label: content }),\n ...mergeProps(children.props, getReferenceProps()),\n })}\n {isMounted && (\n <FloatingPortal>\n <BaseBox\n ref={refs.setFloating}\n style={floatingStyles}\n pointerEvents=\"none\"\n // TODO: Tokenize zIndex values\n zIndex={zIndex}\n {...getFloatingProps()}\n {...metaAttribute({ name: MetaConstants.Tooltip })}\n >\n <TooltipContent\n title={title}\n style={styles}\n arrow={\n <PopupArrow\n ref={arrowRef}\n context={context}\n width={ARROW_WIDTH}\n height={ARROW_HEIGHT}\n fillColor={theme.colors.popup.background.intense}\n strokeColor={theme.colors.popup.border.intense}\n />\n }\n >\n {content}\n </TooltipContent>\n </BaseBox>\n </FloatingPortal>\n )}\n </TooltipContext.Provider>\n );\n};\n\nexport { Tooltip };\n"],"names":["Tooltip","_ref","title","content","children","_ref$placement","placement","onOpenChange","_ref$zIndex","zIndex","tooltipZIndex","_useTheme","useTheme","theme","id","useId","_React$useState","React","useState","_React$useState2","_slicedToArray","isOpen","setIsOpen","arrowRef","useRef","GAP","spacing","_getFloatingPlacement","getFloatingPlacementParts","_getFloatingPlacement2","side","isHorizontal","isOppositeAxis","_useFloating","useFloating","open","strategy","middleware","shift","crossAxis","padding","flip","offset","ARROW_HEIGHT","arrow","element","ARROW_WIDTH","whileElementsMounted","autoUpdate","refs","floatingStyles","context","animationOffset","size","_useTransitionStyles","useTransitionStyles","duration","motion","quick","initial","opacity","transform","concat","isMounted","styles","useDelayGroup","_useDelayGroupContext","useDelayGroupContext","delay","hover","useHover","move","focus","useFocus","role","useRole","_useInteractions","useInteractions","getReferenceProps","getFloatingProps","_jsxs","TooltipContext","Provider","value","cloneElement","_objectSpread","ref","setReference","makeAccessible","label","mergeProps","props","_jsx","FloatingPortal","BaseBox","setFloating","style","pointerEvents","metaAttribute","name","MetaConstants","TooltipContent","PopupArrow","width","height","fillColor","colors","popup","background","intense","strokeColor","border"],"mappings":"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"}
|
|
@@ -136,6 +136,10 @@ var _Table = function _Table(_ref3) {
|
|
|
136
136
|
_React$useState6 = _slicedToArray(_React$useState5, 2),
|
|
137
137
|
totalItems = _React$useState6[0],
|
|
138
138
|
setTotalItems = _React$useState6[1];
|
|
139
|
+
var _React$useState7 = React__default.useState('client'),
|
|
140
|
+
_React$useState8 = _slicedToArray(_React$useState7, 2),
|
|
141
|
+
paginationType = _React$useState8[0],
|
|
142
|
+
setPaginationType = _React$useState8[1];
|
|
139
143
|
// Need to make header is sticky if first column is sticky otherwise the first header cell will not be sticky
|
|
140
144
|
var shouldHeaderBeSticky = isHeaderSticky !== null && isHeaderSticky !== void 0 ? isHeaderSticky : isFirstColumnSticky;
|
|
141
145
|
var backgroundColor = tableBackgroundColor;
|
|
@@ -236,6 +240,8 @@ var _Table = function _Table(_ref3) {
|
|
|
236
240
|
page: 0,
|
|
237
241
|
size: tablePagination.defaultPageSize
|
|
238
242
|
}
|
|
243
|
+
}, {
|
|
244
|
+
isServer: paginationType === 'server'
|
|
239
245
|
});
|
|
240
246
|
var currentPaginationState = useMemo(function () {
|
|
241
247
|
return hasPagination ? {
|
|
@@ -278,9 +284,11 @@ var _Table = function _Table(_ref3) {
|
|
|
278
284
|
showStripedRows: showStripedRows,
|
|
279
285
|
disabledRows: disabledRows,
|
|
280
286
|
setDisabledRows: setDisabledRows,
|
|
287
|
+
paginationType: paginationType,
|
|
288
|
+
setPaginationType: setPaginationType,
|
|
281
289
|
backgroundColor: backgroundColor
|
|
282
290
|
};
|
|
283
|
-
}, [selectionType, selectedRows, totalItems, toggleRowSelectionById, toggleAllRowsSelection, deselectAllRows, rowDensity, toggleSort, currentSortedState, setPaginationPage, setPaginationRowSize, currentPaginationState, showStripedRows, disabledRows, setDisabledRows, backgroundColor]);
|
|
291
|
+
}, [selectionType, selectedRows, totalItems, toggleRowSelectionById, toggleAllRowsSelection, deselectAllRows, rowDensity, toggleSort, currentSortedState, setPaginationPage, setPaginationRowSize, currentPaginationState, showStripedRows, disabledRows, setDisabledRows, paginationType, setPaginationType, backgroundColor]);
|
|
284
292
|
return /*#__PURE__*/jsx(TableContext.Provider, {
|
|
285
293
|
value: tableContext,
|
|
286
294
|
children: isLoading ? /*#__PURE__*/jsx(BaseBox, _objectSpread(_objectSpread(_objectSpread({
|